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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x628908
sub esp, 0x68
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
nop
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
test ebx, ebx
je 0x6283a4
mov edx, dword [edx]
mov dword [esp + 0x44], edx
jmp 0x6283ac
mov dword [esp + 0x44], 0
nop
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
test ebx, ebx
je 0x6283d7
mov edx, dword [edx]
mov dword [esp + 0x54], edx
jmp 0x6283df
mov dword [esp + 0x54], 0
nop
mov edx, dword [esp + 0x80]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
test ebx, ebx
je 0x62840d
mov edx, dword [edx]
mov dword [esp + 0x64], edx
jmp 0x628415
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x90]
movzx edi, byte [esp + 0x98]
movzx eax, byte [esp + 0x99]
mov byte [esp + 0x2c], al
xor eax, eax
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x2c]
jmp 0x628473
mov ebx, dword [esp + 0x18]
inc ebx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x18], ebx
mov eax, edi
mov edi, ebp
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
cmp ebx, esi
jle 0x6286d1
jbe 0x6288fe
xchg edi, eax
mov byte [esp + 0xb], al
xchg edi, eax
nop
mov ebx, dword [esp + 0x54]
test ebx, ebx
jne 0x6284e8
mov ebx, dword [esp + 0x4c]
lea edi, [ebx + 1]
mov dword [esp + 0x4c], edi
mov ebp, dword [esp + 0x48]
mov edx, dword [ebp + 0xc]
mov ebp, dword [ebp + 8]
cmp edx, edi
jbe 0x6288f5
movzx edx, byte [ebx + ebp + 1]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x48]
mov ebp, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
cmp ebp, edi
jbe 0x6288ec
mov edx, dword [edx + ebx*4 + 4]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xb4]
movzx edi, byte [esp + 0xb]
dec dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
cmp ecx, ebx
jbe 0x6288e5
shl esi, 4
imul ebx, ebx, 0xb0c
lea edi, [edx + esi + 0xc]
mov dword [esp + 0x34], edi
movzx edi, word [edx + esi + 0xc]
lea edx, [ebp + ebx]
cmp edi, 0x2c0
jae 0x6288d9
mov dword [esp + 0x20], esi
inc dword [edx + edi*4]
lea edx, [ebp + ebx + 0xb00]
inc dword [edx]
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + esi]
mov edi, dword [esp + 0x84]
mov byte [esp + 0x24], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 9], al
movzx eax, byte [esp + 0x24]
jmp 0x628732
mov ebx, dword [edx + esi + 4]
and ebx, 0x1ffffff
mov ebp, dword [esp + 0x10]
lea edx, [ebx + ebp]
mov dword [esp + 0x10], edx
nop
test ebx, ebx
je 0x6286b0
lea eax, [ebx + ebp - 2]
mov edx, dword [esp + 0x94]
and eax, edx
mov esi, dword [esp + 0x88]
cmp esi, eax
jbe 0x628889
movzx edi, byte [eax + edi]
lea eax, [ebx + ebp - 1]
and eax, edx
cmp esi, eax
jbe 0x628882
mov ebx, dword [esp + 0x84]
movzx ebp, byte [eax + ebx]
mov eax, ebx
mov ebx, dword [esp + 0x34]
cmp word [ebx], 0x80
jb 0x628453
xchg ebp, eax
mov byte [esp + 0xa], al
xchg ebp, eax
nop
mov ebx, dword [esp + 0x64]
test ebx, ebx
jne 0x62861d
mov ebx, dword [esp + 0x5c]
lea esi, [ebx + 1]
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x58]
mov ebp, dword [edx + 0xc]
mov edx, dword [edx + 8]
cmp ebp, esi
jbe 0x628879
movzx edx, byte [ebx + edx + 1]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x58]
mov ebp, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
cmp ebp, esi
jbe 0x628870
mov edx, dword [edx + ebx*4 + 4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x94]
movzx ebp, byte [esp + 0xa]
mov esi, dword [esp + 0x88]
dec dword [esp + 0x64]
nop
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x6c]
movzx edx, word [esi + ebx + 0xc]
mov dword [esp + 0x1c], edx
shr edx, 6
test edx, edx
je 0x628649
cmp edx, 2
je 0x628649
cmp edx, 4
je 0x628649
cmp edx, 7
jne 0x628655
mov edx, dword [esp + 0x1c]
and edx, 7
cmp edx, 2
jbe 0x62865a
mov edx, 3
mov ebp, dword [esp + 0x60]
lea edx, [edx + ebp*4]
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jbe 0x628867
imul edx, edx, 0x11ac
movzx ebx, word [esi + ebx + 0xe]
and ebx, 0x3ff
mov ebp, dword [esp + 0xc0]
lea esi, [ebp + edx]
inc dword [esi + ebx*4]
lea edx, [ebp + edx + 0x11a0]
inc dword [edx]
mov edx, dword [esp + 0x94]
movzx ebp, byte [esp + 0xa]
mov esi, dword [esp + 0x88]
jmp 0x628453
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x88]
mov edi, eax
movzx ebp, byte [esp + 9]
mov eax, dword [esp + 0x84]
jmp 0x628453
add esp, 0x68
ret
imul ebp, ebp, 0x40c
movzx ecx, byte [edi + esi]
mov eax, dword [esp + 0xa8]
lea edx, [eax + ebp]
inc dword [edx + ecx*4]
lea ecx, [eax + ebp + 0x400]
inc dword [ecx]
dec ebx
movzx ecx, byte [edi + esi]
mov edx, dword [esp + 0x10]
lea esi, [edx + 1]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xb4]
movzx eax, byte [esp + 9]
mov byte [esp + 9], cl
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xb8]
mov esi, dword [esp + 0x20]
test ebx, ebx
je 0x628553
mov dword [esp + 0x14], ebx
nop
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x628793
mov ebp, dword [esp + 0x3c]
lea edx, [ebp + 1]
mov dword [esp + 0x3c], edx
mov esi, dword [esp + 0x38]
mov ebx, dword [esi + 0xc]
mov esi, dword [esi + 8]
cmp ebx, edx
jbe 0x6288d0
movzx ebx, byte [ebp + esi + 1]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov esi, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x14]
cmp esi, edx
jbe 0x6288c7
mov edx, dword [ebx + ebp*4 + 4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
dec dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x62883e
mov esi, dword [esp + 0xa0]
cmp esi, ebp
jbe 0x6288be
mov esi, dword [esp + 0x9c]
mov esi, dword [esi + ebp*4]
shl esi, 9
cmp esi, 0x800
ja 0x6288b2
lea edx, [esi - 0x800]
neg edx
mov dword [esp + 0xc], edx
neg edx
sar edx, 0x1f
and esi, edx
movzx edx, byte [esp + 9]
movzx edx, dl
mov ebx, dword [esp + 0xc]
cmp edx, ebx
jae 0x6288a9
lea edi, [0x6868e0]
add esi, edi
movzx edx, byte [esi + edx]
movzx edi, al
lea eax, [edi + 0x100]
cmp ebx, eax
jbe 0x6288a2
shl ebp, 6
movzx ebx, byte [edi + esi + 0x100]
or edx, ebx
movzx edx, dl
add ebp, edx
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0xac]
cmp esi, ebp
jbe 0x628899
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x94]
and esi, edx
mov edx, dword [esp + 0x88]
cmp edx, esi
ja 0x6286d5
jmp 0x628890
mov eax, edx
mov ecx, ebp
call fcn.00456b50
mov eax, esi
mov ecx, ebp
call fcn.00456b50
mov eax, esi
mov ecx, ebp
call fcn.00456b50
mov ecx, esi
call fcn.00456b50
mov ecx, esi
call fcn.00456b50
mov eax, esi
mov ecx, edx
call fcn.00456b50
mov eax, ebp
mov ecx, esi
call fcn.00456b50
mov ecx, ebx
call fcn.00456b40
mov eax, edx
mov ecx, ebx
call fcn.00456b40
mov eax, esi
mov ecx, 0x800
call fcn.00456ba0
mov eax, ebp
mov ecx, esi
call fcn.00456b50
mov eax, edx
mov ecx, esi
call fcn.00456b50
mov eax, edx
mov ecx, ebx
call fcn.00456b50
mov eax, edi
mov ecx, 0x2c0
call fcn.00456b50
mov eax, ebx
call fcn.00456b50
mov eax, edi
mov ecx, ebp
call fcn.00456b50
mov eax, edi
mov ecx, edx
call fcn.00456b50
mov eax, esi
mov ecx, ebx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00628300