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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x621ced
sub esp, 0x30
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
xor eax, eax
xor ecx, ecx
jmp 0x62185c
inc eax
cmp edx, eax
jbe 0x621872
cmp ebp, eax
jbe 0x621ce5
mov esi, dword [ebx + eax*4]
test esi, esi
je 0x62185b
inc ecx
jmp 0x62185b
cmp ecx, 0x10
jae 0x62187d
add esp, 0x30
ret
mov edx, eax
test edx, edx
je 0x6218a3
lea eax, [edx - 1]
cmp ebp, eax
jbe 0x621cde
mov esi, dword [ebx + edx*4 - 4]
test esi, esi
je 0x62187b
test edx, edx
je 0x6218a3
xor ecx, ecx
xor esi, esi
mov edi, 0x40000000
jmp 0x6218b2
add esp, 0x30
ret
inc ecx
mov edi, dword [esp + 0x38]
mov edi, ebx
mov ebx, dword [esp + 0x38]
cmp ecx, edx
jae 0x6218d2
cmp ebp, ecx
jbe 0x621cd5
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
je 0x6218ce
cmp edi, ebx
ja 0x6218cb
mov ebx, edi
inc esi
jmp 0x6218a7
mov ebx, edi
jmp 0x6218a7
cmp esi, 5
jb 0x6218f3
cmp edi, 4
jae 0x6218f7
mov edi, edx
sub edx, esi
cmp edx, 6
jae 0x621c7c
mov ecx, 1
jmp 0x621c84
add esp, 0x30
ret
cmp esi, 0x1c
jb 0x621908
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor eax, eax
jmp 0x621911
add esp, 0x30
ret
mov byte [esi + eax], 0
inc eax
cmp eax, edx
jge 0x62191e
cmp ecx, eax
ja 0x62190c
jmp 0x621c77
test ebp, ebp
jbe 0x621c6e
mov edi, dword [ebx]
xor eax, eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
jmp 0x62193d
inc eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x44]
cmp eax, edx
ja 0x6219a0
je 0x621956
cmp ebp, eax
jbe 0x621c67
lea esi, [ebx + eax*4]
cmp dword [esi], edi
je 0x621999
mov esi, dword [esp + 0x44]
test edi, edi
jne 0x62196e
mov ebx, dword [esp + 0x14]
cmp ebx, 5
jae 0x621977
test edi, edi
jne 0x621972
cmp eax, edx
jmp 0x621c05
mov ebx, dword [esp + 0x14]
cmp ebx, 7
jb 0x621992
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
jmp 0x621c45
cmp eax, edx
jmp 0x621c05
mov esi, dword [esp + 0x14]
inc esi
jmp 0x621934
mov edi, dword [ebx]
cmp ebp, 1
jbe 0x621bf9
add edi, dword [ebx + 4]
cmp ebp, 2
jbe 0x621bed
mov dword [esp + 0x24], edx
add edi, dword [ebx + 8]
shl edi, 8
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
add edx, 0x1a4
mov edi, dword [esp + 0x24]
xor eax, eax
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
jmp 0x6219ef
inc eax
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x44]
cmp eax, edi
ja 0x621b17
mov dword [esp + 8], eax
je 0x621a4c
cmp ecx, eax
jbe 0x621be8
movzx edi, byte [esi + eax]
xchg edi, eax
test al, al
xchg edi, eax
je 0x621a15
mov edi, dword [esp + 0x24]
jmp 0x621a4c
test eax, eax
je 0x621a2a
movzx edi, byte [eax + esi - 1]
xchg edi, eax
test al, al
xchg edi, eax
je 0x621a2a
mov edi, dword [esp + 0x24]
jmp 0x621a4c
cmp ebp, eax
jbe 0x621be1
mov edi, dword [ebx + eax*4]
shl edi, 8
sub edi, edx
add edi, 0x4d8
cmp edi, 0x9b0
jb 0x621aa7
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
cmp edx, 4
jae 0x621a6a
cmp edx, 3
jb 0x621b27
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x621a9e
mov esi, dword [esp + 0x44]
shr edx, 1
mov esi, dword [esp + 0x10]
add edx, esi
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x621bdc
mov eax, edx
xor edx, edx
div edi
test eax, eax
jne 0x621a8d
mov eax, 1
test esi, esi
jne 0x621a93
xor eax, eax
mov edx, dword [esp + 8]
xor esi, esi
jmp 0x621bb5
mov esi, dword [esp + 0x44]
jmp 0x621b27
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1c], edi
lea esi, [edi + 1]
mov edi, dword [esp + 0x24]
cmp eax, edi
je 0x6219e6
cmp ebp, eax
jbe 0x621b20
mov ebx, dword [ebx + eax*4]
mov ebp, dword [esp + 0x10]
add ebx, ebp
cmp esi, 4
jb 0x621afa
mov edx, ebx
shl ebx, 8
mov ebp, esi
shr esi, 1
add ebx, esi
mov esi, dword [esp + 0x1c]
cmp esi, 0xffffffff
je 0x621b1b
mov dword [esp + 0x20], edx
mov eax, ebx
xor edx, edx
div ebp
mov ebx, dword [esp + 0x20]
mov esi, ebp
mov edx, eax
mov eax, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
cmp ebp, 3
jne 0x621b06
add edx, 0x78
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
jmp 0x6219e6
add esp, 0x30
ret
call fcn.0042f690
mov ecx, ebp
call fcn.00456b50
lea edx, [edi - 2]
cmp eax, edx
jae 0x621b67
cmp ebp, eax
jbe 0x621ba1
mov edx, dword [ebx + eax*4]
lea esi, [eax + 1]
cmp ebp, esi
jbe 0x621b98
add edx, dword [ebx + eax*4 + 4]
lea esi, [eax + 2]
cmp ebp, esi
jbe 0x621b8f
add edx, dword [ebx + eax*4 + 8]
shl edx, 8
mov esi, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
add edx, 0x1a4
mov eax, esi
mov esi, dword [esp + 0x44]
jmp 0x621b79
cmp eax, edi
jae 0x621b77
cmp ebp, eax
jbe 0x621b88
mov edx, dword [ebx + eax*4]
shl edx, 8
jmp 0x621b79
xor edx, edx
xor edi, edi
xor edi, edi
mov dword [esp + 0x10], edi
xor edi, edi
jmp 0x621aab
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, ebp
call fcn.00456b50
mov dword [ebx + edx*4 - 4], eax
inc esi
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 8]
cmp esi, edi
jae 0x621bc4
sub edx, esi
lea edi, [edx - 1]
cmp ebp, edi
ja 0x621ba8
jmp 0x621bd3
mov eax, edx
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
jmp 0x621b27
mov eax, edi
mov ecx, ebp
call fcn.00456b50
call fcn.0042f690
mov ecx, ebp
call fcn.00456b50
call fcn.00456b50
mov eax, 2
mov ecx, eax
call fcn.00456b40
mov eax, 1
mov ecx, eax
call fcn.00456b40
je 0x621c14
cmp ebp, eax
jbe 0x621c22
mov ebx, dword [esp + 0x38]
mov edi, dword [ebx + eax*4]
jmp 0x621c18
mov ebx, dword [esp + 0x38]
mov esi, 1
jmp 0x621934
mov ecx, ebp
call fcn.00456b50
mov byte [eax + esi - 1], 1
lea eax, [edi + 1]
mov ebp, dword [esp + 8]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x18]
cmp ebx, edi
jbe 0x621c58
sub eax, edi
lea ebp, [eax - 1]
cmp ecx, ebp
ja 0x621c29
jmp 0x621c60
cmp eax, edx
mov edi, dword [esp + 0xc]
jmp 0x621c05
mov eax, ebp
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
xor eax, eax
mov ecx, eax
call fcn.00456b40
call fcn.00456b40
mov edx, edi
jmp 0x6218f7
inc ecx
cmp ecx, eax
jae 0x621c7c
lea edx, [ecx - 1]
cmp ebp, edx
jbe 0x621ccc
mov edx, dword [ebx + ecx*4 - 4]
test edx, edx
je 0x621c83
cmp ebp, ecx
jbe 0x621cc3
mov edx, dword [ebx + ecx*4]
test edx, edx
jne 0x621c83
lea edx, [ecx + 1]
cmp ebp, edx
jbe 0x621cba
mov edx, dword [ebx + ecx*4 + 4]
test edx, edx
je 0x621c83
mov dword [ebx + ecx*4], 1
jmp 0x621c83
mov eax, edx
mov ecx, ebp
call fcn.00456b50
mov eax, ecx
mov ecx, ebp
call fcn.00456b50
mov eax, edx
mov ecx, ebp
call fcn.00456b50
mov eax, ecx
mov ecx, ebp
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
nop
call fcn.00455690
jmp fcn.00621830