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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x114]
cmp eax, dword [ecx + 8]
jbe 0x619d27
sub esp, 0x194
mov ecx, dword [esp + 0x19c]
lea edx, [ecx + 2]
mov dword [esp + 0x64], edx
cmp edx, 3
jge 0x6193b3
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp], edx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov dword [esp], 4
lea eax, [0x73f7d0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1d
lea eax, [esp + 0x18c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
lea edi, [esp + 0x78]
xor eax, eax
call fcn.004686bf
mov ecx, dword [esp + 0x198]
test byte [ecx], al
lea edx, [ecx + 0x10]
mov dword [esp + 0x188], edx
mov dword [esp], edx
mov dword [esp + 4], 3
call fcn.00617110
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
lea edx, [ecx - 2]
cmp edx, 4
jbe 0x619460
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp], ecx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov dword [esp], 4
lea eax, [0x742229]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x22
lea eax, [esp + 0x18c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
mov eax, dword [esp + 0x188]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00617110
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x198]
cmp dword [eax + 0x2e4], ecx
jge 0x6194dd
lea eax, [0x6e4500]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044e0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0x2e0], ecx
mov dword [edx + 0x2e4], ecx
mov ebx, dword [0x9eca70]
test ebx, ebx
je 0x6194d5
call fcn.00468460
mov dword [edi], eax
mov ebx, dword [edx + 0x2dc]
mov dword [edi + 4], ebx
mov dword [edx + 0x2dc], eax
mov eax, edx
mov edx, dword [eax + 0x2e4]
cmp edx, ecx
jb 0x619d21
mov dword [esp + 0x28], edx
mov ebx, dword [eax + 0x2dc]
mov dword [esp + 0x17c], ebx
mov ebp, dword [esp + 0x38]
xor esi, esi
jmp 0x61950a
xchg edi, eax
mov byte [ebx + esi], al
xchg edi, eax
inc esi
cmp esi, ecx
jge 0x6196e5
mov dword [esp + 0x48], esi
mov edi, dword [eax + 0x38]
cmp dword [0x9c5764], edi
ja 0x61952f
mov edx, dword [0x9c5744]
test edx, edx
jne 0x61953e
mov edx, dword [esp + 0x28]
xor edi, edi
xor edi, edi
mov dword [esp + 0x24], edi
xor edi, edi
jmp 0x6195fe
mov ecx, dword [eax + 0x30]
mov ebx, dword [0x9c5758]
and ebx, ecx
cmp edx, ebx
jbe 0x619d18
mov edx, dword [0x9c5740]
mov ebx, dword [edx + ebx*4]
mov edx, ebx
and ebx, 0x1f
cmp edi, ebx
jb 0x61956b
cmp dword [0x9c5760], ebx
jae 0x619588
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x17c]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x3c]
jmp 0x6195fe
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ecx
mov edi, dword [eax + 0x34]
mov dword [esp + 0x58], edi
mov ecx, edx
mov esi, dword [esp + 0x5c]
shr esi, cl
shr edi, cl
mov dword [esp + 0x5c], edi
lea ebp, [ebx - 0x20]
mov ecx, ebp
mov ebx, dword [esp + 0x58]
shr ebx, cl
neg ecx
mov edi, dword [esp + 0x58]
shl edi, cl
shr edx, 5
cmp ecx, 0x20
sbb ecx, ecx
and ecx, edi
or esi, ecx
cmp ebp, 0x20
sbb ebp, ebp
and ebx, ebp
or esi, ebx
mov dword [eax + 0x30], esi
mov ebx, dword [esp + 0x5c]
mov dword [eax + 0x34], ebx
mov ebx, dword [esp + 0x60]
sub dword [eax + 0x38], ebx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
mov edi, 1
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x28]
xchg edi, eax
test al, al
xchg edi, eax
je 0x61960a
mov edi, dword [esp + 0x24]
jmp 0x619643
lea ecx, [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x9c5740]
mov dword [esp + 4], ecx
call fcn.00611af0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
mov edi, eax
mov eax, dword [esp + 0x198]
cmp edi, ebp
jl 0x619504
mov dword [esp + 0x30], edi
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp], edi
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4540]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov dword [esp], 4
lea eax, [0x740f0e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
lea edx, [esp + 0x18c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x30]
jmp 0x619504
mov esi, dword [esp + 0x178]
add esi, 0xffffff00
xchg esi, ebx
neg ebx
xchg esi, ebx
nop
cmp esi, 0x100
ja 0x619d0c
jl 0x61970c
mov esi, 0x100
lea eax, [esp + 0x78]
mov dword [esp], eax
lea ecx, [0x9ed800]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00468df0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x3c]
xor edx, edx
xor ebx, ebx
jmp 0x61976e
lea eax, [esp + 0x79]
mov dword [esp], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00468df0
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x78], al
mov eax, dword [esp + 0x44]
lea edx, [eax + 1]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
cmp edx, ecx
jge 0x6197ad
movzx ebp, byte [eax + edx]
movzx esi, byte [esp + ebp + 0x78]
xchg esi, ebx
mov byte [eax + edx], bl
xchg esi, ebx
or ebx, ebp
cmp ebp, 0x100
ja 0x619d00
mov dword [esp + 0x44], edx
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov dword [esp + 0x40], ebx
cmp ebp, 0xff
jl 0x619737
mov ebp, 0xff
jmp 0x619737
add ebx, 0xffffff01
neg ebx
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x198]
mov dword [ebx + 0x2e0], ecx
mov ebp, dword [esp + 0x28]
mov dword [ebx + 0x2e4], ebp
mov ebp, dword [0x9eca70]
test ebp, ebp
je 0x6197ed
call fcn.00468460
mov dword [edi], eax
mov ebp, dword [ebx + 0x2dc]
mov dword [edi + 4], ebp
mov dword [ebx + 0x2dc], eax
mov ebp, dword [esp + 0x38]
cmp ebp, 6
ja 0x619cf4
mov esi, dword [esp + 0x64]
xor edx, edx
jmp 0x61981b
mov dword [ebx + eax*4 + 0x63a8], edi
inc edx
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x3c]
cmp edx, ebp
jge 0x619872
imul edi, edx, 0x1020
lea edi, [ebx + edi + 0x2e8]
cmp esi, 0x102
ja 0x619ce8
lea eax, [edx + edx*2]
mov dword [ebx + eax*4 + 0x63ac], esi
mov dword [ebx + eax*4 + 0x63b0], 0x102
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x619808
mov ecx, edi
call fcn.00468460
mov dword [edi], ecx
mov esi, dword [ebx + eax*4 + 0x63a8]
mov dword [edi + 4], esi
mov esi, dword [esp + 0x64]
mov edi, ecx
jmp 0x619808
mov eax, dword [esp + 0x188]
mov dword [esp], eax
lea eax, [ebx + 0x63a8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea eax, [ebx + 0x63f0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 6
call fcn.006172e0
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x64f8]
mov edx, dword [eax + 0x6500]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x70]
jmp 0x619925
mov word [ecx + ebp*2 - 2], bx
mov ebx, dword [esp + 0x4c]
dec ebx
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x4c], ebx
mov edx, esi
mov dword [esp + 0x54], ebp
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x19c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x184], ecx
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x6199db
mov edx, dword [esp + 0x34]
cmp edx, ebx
jl 0x6199aa
mov dword [esp], 4
lea eax, [0x740f2e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
mov ecx, dword [esp + 0x184]
mov edx, eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0x17c]
mov eax, dword [esp + 0x198]
jae 0x619cdf
movzx edi, byte [edx + edi]
cmp edi, 6
jae 0x619cd3
imul edi, edi, 0x2c
lea edi, [eax + edi + 0x63f0]
inc edx
mov dword [esp + 0x68], eax
mov eax, 0x32
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
jmp 0x6199e6
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x180], edi
mov dword [esp + 0x34], edx
mov ebx, dword [eax + 0x38]
cmp dword [edi + 0x24], ebx
ja 0x619a04
mov edx, dword [edi + 4]
test edx, edx
jne 0x619a13
mov edx, dword [esp + 0x34]
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0x2c], ebx
xor ebx, ebx
jmp 0x619ad2
mov ecx, dword [eax + 0x30]
mov ebp, dword [edi + 0x18]
and ebp, ecx
cmp edx, ebp
jbe 0x619cca
mov edx, dword [edi]
mov edx, dword [edx + ebp*4]
mov ebp, edx
and edx, 0x1f
cmp ebx, edx
jb 0x619a36
cmp dword [edi + 0x20], edx
jae 0x619a56
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x64]
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x184]
jmp 0x619ad2
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edx
mov ebx, dword [eax + 0x34]
mov dword [esp + 0x58], ebx
mov ecx, ebp
mov edi, dword [esp + 0x60]
shr edi, cl
shr ebx, cl
mov dword [esp + 0x60], ebx
lea esi, [edx - 0x20]
mov ecx, esi
mov edx, dword [esp + 0x58]
shr edx, cl
neg ecx
mov ebx, dword [esp + 0x58]
shl ebx, cl
shr ebp, 5
cmp esi, 0x20
sbb esi, esi
and edx, esi
cmp ecx, 0x20
sbb esi, esi
and esi, ebx
or edi, esi
or edi, edx
mov dword [eax + 0x30], edi
mov edx, dword [esp + 0x60]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x5c]
sub dword [eax + 0x38], edx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0x180]
mov ebx, 1
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x64]
test bl, bl
je 0x619adc
mov ebx, dword [esp + 0x2c]
jmp 0x619b15
lea ecx, [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edi
call fcn.00611af0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0x180]
mov ebx, eax
mov eax, dword [esp + 0x198]
inc esi
cmp ebx, esi
je 0x619c7a
mov dword [esp + 0x2c], ebx
cmp ebx, ebp
jl 0x619bba
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp], ebx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4540]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov dword [esp], 4
lea eax, [0x73d195]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x19
lea edx, [esp + 0x18c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x180]
mov esi, dword [eax + 0x6c]
imul esi, esi, 0x186a0
mov ebp, dword [esp + 0x54]
cmp ebp, esi
jl 0x619c22
mov dword [esp], 4
lea eax, [0x7479ef]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x2b
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x180]
inc ebp
mov esi, dword [esp + 0x50]
cmp esi, ebp
jae 0x6198fb
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6e4640]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x180]
mov esi, edx
mov edx, dword [esp + 0x34]
jmp 0x6198fb
mov edx, dword [esp + 0x54]
mov dword [eax + 0x64fc], edx
mov ebx, dword [esp + 0x50]
mov dword [eax + 0x6500], ebx
mov ebp, dword [0x9eca70]
test ebp, ebp
je 0x619ca8
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [eax + 0x64f8]
mov dword [edi + 4], ebp
mov dword [eax + 0x64f8], ecx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], ebx
add esp, 0x194
ret
mov eax, ebp
mov ecx, edx
call fcn.004684d0
mov eax, edi
mov ecx, 6
call fcn.004684c0
mov eax, edx
mov ecx, ebx
call fcn.004684c0
mov ecx, esi
mov edx, 0x102
call fcn.004684e0
mov ecx, ebp
mov edx, 6
call fcn.004684e0
mov ecx, ebp
mov edx, 0x100
call fcn.004684e0
mov ecx, esi
mov edx, 0x100
call fcn.004684e0
mov eax, ebx
mov ecx, edx
call fcn.004684d0
call fcn.00468500
nop
call fcn.00467050
jmp fcn.00619310