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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x621d3d
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 0x6218ac
inc eax
cmp edx, eax
jbe 0x6218c2
cmp ebp, eax
jbe 0x621d35
mov esi, dword [ebx + eax*4]
test esi, esi
je 0x6218ab
inc ecx
jmp 0x6218ab
cmp ecx, 0x10
jae 0x6218cd
add esp, 0x30
ret
mov edx, eax
test edx, edx
je 0x6218f3
lea eax, [edx - 1]
cmp ebp, eax
jbe 0x621d2e
mov esi, dword [ebx + edx*4 - 4]
test esi, esi
je 0x6218cb
test edx, edx
je 0x6218f3
xor ecx, ecx
xor esi, esi
mov edi, 0x40000000
jmp 0x621902
add esp, 0x30
ret
inc ecx
mov edi, dword [esp + 0x38]
mov edi, ebx
mov ebx, dword [esp + 0x38]
cmp ecx, edx
jae 0x621922
cmp ebp, ecx
jbe 0x621d25
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
je 0x62191e
cmp edi, ebx
ja 0x62191b
mov ebx, edi
inc esi
jmp 0x6218f7
mov ebx, edi
jmp 0x6218f7
cmp esi, 5
jb 0x621943
cmp edi, 4
jae 0x621947
mov edi, edx
sub edx, esi
cmp edx, 6
jae 0x621ccc
mov ecx, 1
jmp 0x621cd4
add esp, 0x30
ret
cmp esi, 0x1c
jb 0x621958
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor eax, eax
jmp 0x621961
add esp, 0x30
ret
mov byte [esi + eax], 0
inc eax
cmp eax, edx
jge 0x62196e
cmp ecx, eax
ja 0x62195c
jmp 0x621cc7
test ebp, ebp
jbe 0x621cbe
mov edi, dword [ebx]
xor eax, eax
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
jmp 0x62198d
inc eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x44]
cmp eax, edx
ja 0x6219f0
je 0x6219a6
cmp ebp, eax
jbe 0x621cb7
lea esi, [ebx + eax*4]
cmp dword [esi], edi
je 0x6219e9
mov esi, dword [esp + 0x44]
test edi, edi
jne 0x6219be
mov ebx, dword [esp + 8]
cmp ebx, 5
jae 0x6219c7
test edi, edi
jne 0x6219c2
cmp eax, edx
jmp 0x621c55
mov ebx, dword [esp + 8]
cmp ebx, 7
jb 0x6219e2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
jmp 0x621c95
cmp eax, edx
jmp 0x621c55
mov esi, dword [esp + 8]
inc esi
jmp 0x621984
mov edi, dword [ebx]
cmp ebp, 1
jbe 0x621c49
add edi, dword [ebx + 4]
cmp ebp, 2
jbe 0x621c3d
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 + 0xc], eax
xor eax, eax
mov dword [esp + 0x18], eax
xor eax, eax
jmp 0x621a3f
inc eax
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x44]
cmp eax, edi
ja 0x621b67
mov dword [esp + 0x1c], eax
je 0x621a9c
cmp ecx, eax
jbe 0x621c38
movzx edi, byte [esi + eax]
xchg edi, eax
test al, al
xchg edi, eax
je 0x621a65
mov edi, dword [esp + 0x24]
jmp 0x621a9c
test eax, eax
je 0x621a7a
movzx edi, byte [eax + esi - 1]
xchg edi, eax
test al, al
xchg edi, eax
je 0x621a7a
mov edi, dword [esp + 0x24]
jmp 0x621a9c
cmp ebp, eax
jbe 0x621c31
mov edi, dword [ebx + eax*4]
shl edi, 8
sub edi, edx
add edi, 0x4d8
cmp edi, 0x9b0
jb 0x621af7
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, 4
jae 0x621aba
cmp edx, 3
jb 0x621b77
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x621aee
mov esi, dword [esp + 0x44]
shr edx, 1
mov esi, dword [esp + 0x18]
add edx, esi
mov edi, dword [esp + 0xc]
test edi, edi
je 0x621c2c
mov eax, edx
xor edx, edx
div edi
test eax, eax
jne 0x621add
mov eax, 1
test esi, esi
jne 0x621ae3
xor eax, eax
mov edx, dword [esp + 0x1c]
xor esi, esi
jmp 0x621c05
mov esi, dword [esp + 0x44]
jmp 0x621b77
mov edi, dword [esp + 0xc]
mov dword [esp + 0xc], edi
lea esi, [edi + 1]
mov edi, dword [esp + 0x24]
cmp eax, edi
je 0x621a36
cmp ebp, eax
jbe 0x621b70
mov ebx, dword [ebx + eax*4]
mov ebp, dword [esp + 0x18]
add ebx, ebp
cmp esi, 4
jb 0x621b4a
mov edx, ebx
shl ebx, 8
mov ebp, esi
shr esi, 1
add ebx, esi
mov esi, dword [esp + 0xc]
cmp esi, 0xffffffff
je 0x621b6b
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 + 0x1c]
mov ebp, dword [esp + 0xc]
cmp ebp, 3
jne 0x621b56
add edx, 0x78
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x38]
jmp 0x621a36
add esp, 0x30
ret
call fcn.0042f690
mov ecx, ebp
call fcn.00456b50
lea edx, [edi - 2]
cmp eax, edx
jae 0x621bb7
cmp ebp, eax
jbe 0x621bf1
mov edx, dword [ebx + eax*4]
lea esi, [eax + 1]
cmp ebp, esi
jbe 0x621be8
add edx, dword [ebx + eax*4 + 4]
lea esi, [eax + 2]
cmp ebp, esi
jbe 0x621bdf
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 0x621bc9
cmp eax, edi
jae 0x621bc7
cmp ebp, eax
jbe 0x621bd8
mov edx, dword [ebx + eax*4]
shl edx, 8
jmp 0x621bc9
xor edx, edx
xor edi, edi
xor edi, edi
mov dword [esp + 0x18], edi
xor edi, edi
jmp 0x621afb
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 + 0xc]
mov edx, dword [esp + 0x1c]
cmp esi, edi
jae 0x621c14
sub edx, esi
lea edi, [edx - 1]
cmp ebp, edi
ja 0x621bf8
jmp 0x621c23
mov eax, edx
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
jmp 0x621b77
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 0x621c64
cmp ebp, eax
jbe 0x621c72
mov ebx, dword [esp + 0x38]
mov edi, dword [ebx + eax*4]
jmp 0x621c68
mov ebx, dword [esp + 0x38]
mov esi, 1
jmp 0x621984
mov ecx, ebp
call fcn.00456b50
mov byte [eax + esi - 1], 1
lea eax, [edi + 1]
mov ebp, dword [esp + 0x1c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
cmp ebx, edi
jbe 0x621ca8
sub eax, edi
lea ebp, [eax - 1]
cmp ecx, ebp
ja 0x621c79
jmp 0x621cb0
cmp eax, edx
mov edi, dword [esp + 0x14]
jmp 0x621c55
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 0x621947
inc ecx
cmp ecx, eax
jae 0x621ccc
lea edx, [ecx - 1]
cmp ebp, edx
jbe 0x621d1c
mov edx, dword [ebx + ecx*4 - 4]
test edx, edx
je 0x621cd3
cmp ebp, ecx
jbe 0x621d13
mov edx, dword [ebx + ecx*4]
test edx, edx
jne 0x621cd3
lea edx, [ecx + 1]
cmp ebp, edx
jbe 0x621d0a
mov edx, dword [ebx + ecx*4 + 4]
test edx, edx
je 0x621cd3
mov dword [ebx + ecx*4], 1
jmp 0x621cd3
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.00621880