Function at 0x621e60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0xf33f68]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xe0]
cmp eax, dword [ecx + 8]
jbe 0x6228fa
sub esp, 0x160
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.0061fdd0
lea edi, [esp + 0xd4]
lea esi, [esp + 4]
call fcn.0046cf5e
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd4]
call fcn.0046cf5e
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x40], edx
lea ebx, [0x7a6e00]
mov dword [esp], ebx
call fcn.0040d540
mov eax, dword [0xf34078]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x621ef9
mov eax, dword [esp + 0x164]
jmp 0x621f07
call fcn.0046c7d0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [esp + 0x6c], ecx
mov dword [ecx + 8], eax
mov dword [ecx], 0xe
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x14], 0
mov dword [esp], eax
call fcn.0061fdd0
lea edi, [esp + 0xc0]
lea esi, [esp + 4]
call fcn.0046cf5e
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x70]
lea esi, [esp + 0xc0]
call fcn.0046cf5e
cmp dword [esp + 0x70], 0x15
jne 0x622730
mov edx, dword [eax + 0x6c]
nop
test edx, edx
jle 0x621f83
dec edx
mov dword [eax + 0x6c], edx
jmp 0x621ff7
mov ecx, dword [eax + 0x2c]
mov dword [esp], ecx
call fcn.00619120
lea edi, [esp + 0x14c]
lea esi, [esp + 4]
call fcn.0046cf5e
mov eax, dword [0xf34078]
mov ecx, dword [esp + 0x164]
lea edi, [ecx + 0x30]
test eax, eax
je 0x621fe4
mov dword [esp + 0x140], edi
lea eax, [0x79de00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
call fcn.00412810
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x14c]
call fcn.0046cf5e
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x6c]
cmp edx, 3
jae 0x6228ed
mov dword [esp], eax
call fcn.0061fd00
lea edi, [esp + 0x84]
lea esi, [esp + 4]
call fcn.0046cf5e
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.0061fdd0
lea edi, [esp + 0xac]
lea esi, [esp + 4]
call fcn.0046cf5e
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x124]
lea esi, [esp + 0xac]
call fcn.0046cf5e
mov ecx, dword [esp + 0x124]
cmp ecx, 6
je 0x622515
cmp ecx, 7
je 0x622512
cmp ecx, 2
jne 0x6223f9
cmp dword [esp + 0x130], 1
jne 0x6223f9
mov ecx, dword [esp + 0x12c]
cmp byte [ecx], 0x2c
jne 0x6223f9
mov dword [esp], eax
call fcn.0061fdd0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x34], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0xc7c9ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004e0870
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
lea ebx, [0x7a0d20]
mov dword [esp], ebx
call fcn.0040d540
mov eax, dword [0xf34078]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x62211b
mov eax, dword [esp + 0x164]
jmp 0x622129
call fcn.0046c7d0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [ecx + 8], eax
mov dword [ecx], 0x12
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x14], edx
mov edx, dword [0xf34078]
test edx, edx
jne 0x622157
mov edx, dword [esp + 0x48]
jmp 0x622162
call fcn.0046c7d0
mov edx, dword [esp + 0x48]
mov dword [edi], edx
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
inc ebp
mov esi, dword [edx + 0x14]
cmp ebx, ebp
jae 0x6221db
mov dword [esp + 0x64], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7a2c60]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], eax
mov eax, dword [0xf34078]
test eax, eax
je 0x6221c7
call fcn.0046c7e0
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x64]
mov edx, ebx
mov dword [edx + 0x18], ebp
mov ebx, dword [0xf34078]
test ebx, ebx
je 0x6221f6
call fcn.0046c7e0
mov dword [edi], ecx
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], ecx
mov ecx, dword [eax + 0x78]
mov ebx, dword [eax + 0x74]
inc ebx
mov ebp, dword [eax + 0x70]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ecx, ebx
jae 0x622282
mov dword [esp + 0x44], edi
mov dword [esp + 0x13c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x776800]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x164]
mov dword [ebx + 0x78], eax
mov eax, dword [0xf34078]
test eax, eax
je 0x62226a
call fcn.0046c7e0
mov dword [edi], ecx
mov eax, dword [ebx + 0x70]
mov dword [edi + 4], eax
mov dword [ebx + 0x70], ecx
mov eax, ebx
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x44]
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x74], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edi
mov ecx, dword [0xf34078]
lea ebx, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x6222a5
call fcn.0046c7e0
mov dword [edi], esi
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], esi
mov ecx, dword [esp + 0x16c]
cmp ecx, 5
jne 0x62236c
mov ebx, dword [esp + 0x168]
cmp dword [ebx], 0x676e6172
jne 0x622373
cmp byte [ebx + 4], 0x65
jne 0x622373
cmp dword [edx + 0x18], 2
jge 0x622373
mov dword [esp], eax
call fcn.0061fdd0
lea edi, [esp + 0x98]
lea esi, [esp + 4]
call fcn.0046cf5e
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x50]
lea esi, [esp + 0x98]
call fcn.0046cf5e
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 0x10]
cmp edx, 1
jbe 0x621f37
cmp ecx, 0x15
je 0x621f37
mov dword [esp], eax
lea ecx, [0x7d65b5]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x23
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.0061feb0
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
jmp 0x622373
mov ebx, dword [esp + 0x168]
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040add0
mov eax, dword [esp + 8]
lea ecx, [0x776800]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
lea ecx, [0x7cd032]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1b
lea ecx, [esp + 0x144]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0061feb0
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x6c]
jmp 0x62273d
cmp dword [esp + 0x84], 0x12
jne 0x6224bd
lea edi, [esp + 0x110]
lea esi, [esp + 0x70]
call fcn.0046cf5e
mov ecx, dword [0xf34078]
lea edi, [eax + 0x44]
test ecx, ecx
je 0x622456
mov dword [esp + 0x140], edi
lea eax, [0x79de00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.00412810
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x84]
call fcn.0046cf5e
mov ecx, dword [0xf34078]
lea edi, [eax + 0x58]
test ecx, ecx
je 0x6224a1
mov dword [esp + 0x140], edi
lea eax, [0x79de00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
call fcn.00412810
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x110]
call fcn.0046cf5e
mov dword [eax + 0x6c], 3
mov edx, dword [esp + 0x6c]
jmp 0x62273d
mov ecx, dword [0xf34078]
lea edi, [eax + 0x44]
test ecx, ecx
je 0x6224f9
mov dword [esp + 0x140], edi
lea eax, [0x79de00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
call fcn.00412810
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x70]
call fcn.0046cf5e
mov dword [eax + 0x6c], 2
mov edx, dword [esp + 0x6c]
jmp 0x62273d
cmp ecx, 6
sete cl
mov edx, dword [esp + 0x6c]
mov byte [edx + 0x10], cl
mov dword [esp], eax
call fcn.0061fdd0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x38], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0xc7c9ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004e0870
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
lea ebx, [0x7a0d20]
mov dword [esp], ebx
call fcn.0040d540
mov eax, dword [0xf34078]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x6225a2
mov eax, dword [esp + 0x164]
jmp 0x6225b0
call fcn.0046c7d0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [ecx + 8], eax
mov dword [ecx], 0x12
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x14], edx
mov edx, dword [0xf34078]
test edx, edx
jne 0x6225de
mov edx, dword [esp + 0x4c]
jmp 0x6225e9
call fcn.0046c7d0
mov edx, dword [esp + 0x4c]
mov dword [edi], edx
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
inc ebp
mov esi, dword [edx + 0x14]
cmp ebx, ebp
jae 0x622662
mov dword [esp + 0x68], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7a2c60]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], eax
mov eax, dword [0xf34078]
test eax, eax
je 0x62264e
call fcn.0046c7e0
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x68]
mov edx, ebx
mov dword [edx + 0x18], ebp
mov ebx, dword [0xf34078]
test ebx, ebx
je 0x62267d
call fcn.0046c7e0
mov dword [edi], ecx
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], ecx
mov ecx, dword [eax + 0x78]
mov ebx, dword [eax + 0x74]
inc ebx
mov ebp, dword [eax + 0x70]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ecx, ebx
jae 0x622709
mov dword [esp + 0x44], edi
mov dword [esp + 0x13c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x776800]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x164]
mov dword [ebx + 0x78], eax
mov eax, dword [0xf34078]
test eax, eax
je 0x6226f1
call fcn.0046c7e0
mov dword [edi], ecx
mov eax, dword [ebx + 0x70]
mov dword [edi + 4], eax
mov dword [ebx + 0x70], ecx
mov eax, ebx
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x44]
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x74], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edi
mov ecx, dword [0xf34078]
lea ebx, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x62272c
call fcn.0046c7e0
mov dword [edi], esi
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], esi
jmp 0x62273d
mov edx, dword [esp + 0x6c]
jmp 0x62273d
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.0061fdd0
lea edi, [esp + 0xe8]
lea esi, [esp + 4]
call fcn.0046cf5e
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x170]
cmp ecx, eax
je 0x6228ae
cmp eax, 0xd
jg 0x62279b
cmp eax, 3
jg 0x622784
cmp eax, 1
je 0x6227c2
cmp eax, 3
je 0x6227c2
jmp 0x622870
cmp eax, 5
je 0x6227c2
lea edx, [eax - 9]
cmp edx, 1
jbe 0x6227c2
cmp eax, 0xc
jge 0x6227c2
jmp 0x622870
cmp eax, 0x13
jg 0x6227af
cmp eax, 0xf
je 0x6227c2
cmp eax, 0x13
je 0x6227c2
jmp 0x622870
cmp eax, 0x15
je 0x6227c2
cmp eax, 0x1a
je 0x6227c2
cmp eax, 0x1f
jne 0x622870
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
mov dword [esp], eax
call fcn.00623920
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
inc edx
mov ebx, dword [esp + 4]
mov ebp, dword [eax + 0x20]
cmp ecx, edx
jae 0x62284c
mov dword [esp + 0x138], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7a5240]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x28], eax
mov eax, dword [0xf34078]
test eax, eax
je 0x62283e
call fcn.0046c7e0
mov dword [edi], ecx
mov eax, dword [ebx + 0x20]
mov dword [edi + 4], eax
mov dword [ebx + 0x20], ecx
mov eax, ebx
mov ebx, dword [esp + 0x138]
mov ebp, ecx
mov dword [eax + 0x24], edx
mov ecx, dword [0xf34078]
test ecx, ecx
je 0x622867
call fcn.0046c7e0
mov dword [edi], ebx
mov ecx, dword [ebp + edx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + edx*4 - 4], ebx
jmp 0x622736
mov eax, dword [esp + 0x164]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0xe8]
call fcn.0046cf5e
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x16c]
mov dword [esp + 0x1c], edx
call fcn.00620110
mov eax, dword [esp + 0x6c]
jmp 0x622736
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xc], ecx
call fcn.00622910
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x174], eax
add esp, 0x160
ret
mov eax, edx
mov ecx, 3
call fcn.0046c850
nop
call fcn.0046b3d0
jmp fcn.00621e60