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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x603279
sub esp, 0x9c
mov ecx, dword [esp + 0xa4]
cmp ecx, 0x10
je 0x60295a
cmp ecx, 0x18
je 0x60295a
cmp ecx, 0x20
jne 0x6031d1
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov edx, ecx
shr ecx, 3
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0xa0]
xor eax, eax
jmp 0x602aa4
mov esi, dword [esp + 0x44]
shl esi, 1
xor esi, dword [esp + ebx*4 + 0x50]
mov dword [esp + 0x5c], esi
inc ebp
movzx ebx, byte [esp + 0x23]
shr bl, 1
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa4]
cmp ebp, 7
jge 0x6029e4
mov byte [esp + 0x23], bl
and ebx, 1
mov ebx, dword [esp + ebx*4 + 0x58]
mov edx, dword [esp + 0x28]
xor edx, ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x44], ebx
shr ebx, 7
cmp ebx, 2
jb 0x602991
jmp 0x603263
lea ebp, [ecx + eax*4]
and ebx, 1
mov ebx, dword [esp + ebx*4 + 0x58]
mov edx, dword [esp + 0x28]
xor edx, ebx
cmp ebp, 0x10
jae 0x603257
mov ebx, ebp
movzx ebp, byte [esp + ebp + 0x68]
xor ebp, edx
xchg ebp, eax
mov byte [esp + ebx + 0x68], al
xchg ebp, eax
lea ebx, [edi + 1]
mov edx, dword [esp + 0xa4]
cmp ebx, 8
jge 0x602a6c
movzx ebp, byte [esp + ebx + 0x60]
mov edi, ebx
lea ebx, [ebx + eax*8]
cmp edx, ebx
jbe 0x60326f
movzx ebx, byte [ebx + esi]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x54], 0x14d
xor ebp, ebp
xor ebp, ebp
mov dword [esp + 0x28], ebp
xor ebp, ebp
jmp 0x6029b9
inc ecx
mov ebx, esi
cmp ecx, 4
jge 0x602a9f
lea ebp, [esp + ecx*8 + 0x78]
mov esi, ebx
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebp
xor ebx, ebx
jmp 0x602a16
inc eax
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jle 0x602abb
lea edi, [esp + 0x78]
lea esi, [0x97dee0]
call fcn.0045fbe0
xor ecx, ecx
jmp 0x602a6f
lea eax, [0x730200]
mov dword [esp], eax
call fcn.0040bc50
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [esp + 0x24], 0
xor ecx, ecx
jmp 0x602c0a
mov ebx, ecx
shl ecx, 1
mov byte [esp + edx + 0x24], cl
inc edx
mov ecx, ebx
cmp edx, 4
jge 0x602afa
jb 0x602ae3
jmp 0x60324b
mov byte [esp + 0x22], cl
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
call fcn.006034c0
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x22]
xor edx, edx
jmp 0x602b60
mov ebx, ecx
shl ecx, 1
lea ebp, [ecx + 1]
xchg ebp, eax
mov byte [esp + edx + 0x24], al
xchg ebp, eax
inc edx
mov ecx, ebx
cmp edx, 4
jge 0x602b6c
jb 0x602b50
jmp 0x60323f
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.006034c0
mov eax, dword [esp + 0x1c]
nop
movzx ecx, byte [esp + 0x22]
mov edx, ecx
shl ecx, 1
movzx ebx, cl
rol eax, 8
mov ebp, dword [esp + 0x3c]
lea esi, [ebp + eax]
cmp ebx, 0x28
jae 0x603233
mov edi, dword [esp + 0x98]
mov dword [edi + ebx*4 + 0x1000], esi
lea ebx, [ecx + 1]
movzx ebx, bl
lea ebp, [ebp + eax*2]
cmp ebx, 0x28
jae 0x603227
rol ebp, 9
mov dword [edi + ebx*4 + 0x1000], ebp
lea ecx, [edx + 1]
mov eax, edi
cmp cl, 0x14
jae 0x602c16
xor edx, edx
jmp 0x602aee
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jne 0x602dd8
xor ecx, ecx
jmp 0x602d47
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4], eax
lea eax, [0x985c60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x69]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985b60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x6d]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [esi + ebp]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 1
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x400], eax
lea eax, [0x985b60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x6a]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985c60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x6e]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [esi + ebp]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 2
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x800], eax
lea eax, [0x985c60]
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + eax]
movzx ebp, byte [esp + 0x6b]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
movzx eax, byte [eax + ebx]
movzx ebx, byte [esp + 0x6f]
xor ebx, eax
movzx eax, bl
lea ebx, [0x985b60]
movzx eax, byte [ebx + eax]
mov byte [esp], al
mov dword [esp + 4], 3
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0xc00], eax
inc ecx
mov eax, edx
cmp ecx, 0x100
jge 0x602db4
mov dword [esp + 0x34], ecx
movzx eax, cl
mov dword [esp + 0x40], eax
lea edx, [0x985b60]
movzx ebx, byte [eax + edx]
movzx ebp, byte [esp + 0x68]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
movzx ebx, byte [edx + ebx]
movzx ebp, byte [esp + 0x6c]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
lea ebp, [0x985c60]
movzx ebx, byte [ebp + ebx]
mov byte [esp], bl
mov dword [esp + 4], 0
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x100
jb 0x602c2a
jmp 0x60321b
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0x9c
ret
cmp ecx, 3
jne 0x602fbb
xor ecx, ecx
jmp 0x602f39
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4], eax
lea eax, [0x985c60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x69]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
movzx ebp, byte [eax + ebp]
movzx esi, byte [esp + 0x6d]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985b60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x71]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [esi + ebp]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 1
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x400], eax
lea eax, [0x985b60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x6a]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
movzx ebp, byte [eax + ebp]
movzx esi, byte [esp + 0x6e]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985c60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x72]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [esi + ebp]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 2
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x800], eax
lea eax, [0x985b60]
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + eax]
movzx ebp, byte [esp + 0x6b]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
lea ebp, [0x985c60]
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x6f]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [ebp + ebx]
movzx ebp, byte [esp + 0x73]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
movzx eax, byte [eax + ebx]
mov byte [esp], al
mov dword [esp + 4], 3
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0xc00], eax
inc ecx
mov eax, edx
cmp ecx, 0x100
jge 0x602db4
mov dword [esp + 0x38], ecx
movzx eax, cl
mov dword [esp + 0x40], eax
lea edx, [0x985c60]
movzx ebx, byte [eax + edx]
movzx ebp, byte [esp + 0x68]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
lea ebp, [0x985b60]
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x6c]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x70]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [edx + ebx]
mov byte [esp], bl
mov dword [esp + 4], 0
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
cmp ecx, 0x100
jb 0x602de8
jmp 0x60320f
xor ecx, ecx
jmp 0x603142
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4], eax
lea eax, [0x985b60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x69]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985c60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x6d]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x71]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [eax + ebp]
movzx edi, byte [esp + 0x75]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [ebp + eax]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 1
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x400], eax
lea eax, [0x985b60]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + eax]
movzx esi, byte [esp + 0x6a]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
movzx ebp, byte [eax + ebp]
movzx esi, byte [esp + 0x6e]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
movzx ebp, byte [eax + ebp]
movzx esi, byte [esp + 0x72]
xor esi, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
lea esi, [0x985c60]
movzx ebp, byte [esi + ebp]
movzx edi, byte [esp + 0x76]
xor edi, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
movzx ebp, byte [ebp + esi]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], 2
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0x800], eax
lea eax, [0x985c60]
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + eax]
movzx ebp, byte [esp + 0x6b]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
lea ebp, [0x985b60]
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x6f]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [eax + ebx]
movzx esi, byte [esp + 0x73]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx eax, byte [eax + ebx]
movzx ebx, byte [esp + 0x77]
xor ebx, eax
movzx eax, bl
movzx eax, byte [eax + ebp]
mov byte [esp], al
mov dword [esp + 4], 3
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x98]
mov dword [edx + ecx*4 + 0xc00], eax
inc ecx
mov eax, edx
cmp ecx, 0x100
jge 0x602db4
mov dword [esp + 0x30], ecx
movzx eax, cl
mov dword [esp + 0x40], eax
lea edx, [0x985c60]
movzx ebx, byte [eax + edx]
movzx ebp, byte [esp + 0x68]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
movzx ebx, byte [edx + ebx]
movzx ebp, byte [esp + 0x6c]
xor ebp, ebx
xchg ebp, eax
movzx ebx, al
xchg ebp, eax
lea ebp, [0x985b60]
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x70]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [ebp + ebx]
movzx esi, byte [esp + 0x74]
xor esi, ebx
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [ebx + edx]
mov byte [esp], bl
mov dword [esp + 4], 0
call fcn.006032c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x100
jb 0x602fc2
jmp 0x603203
mov dword [esp], ecx
call fcn.004093a0
mov eax, dword [esp + 4]
mov dword [esp + 0xac], 0
lea ecx, [0x7ecbfc]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x9c
ret
mov eax, ecx
mov ecx, 0x100
call fcn.0045f4f0
mov eax, ecx
mov ecx, 0x100
call fcn.0045f4f0
mov eax, ecx
mov ecx, 0x100
call fcn.0045f4f0
mov eax, ebx
mov ecx, 0x28
call fcn.0045f4f0
mov eax, ebx
mov ecx, 0x28
call fcn.0045f4f0
mov eax, edx
mov ecx, 4
call fcn.0045f4f0
mov eax, edx
mov ecx, 4
call fcn.0045f4f0
mov eax, ebp
mov ecx, 0x10
call fcn.0045f4f0
mov eax, ebx
mov ecx, 2
call fcn.0045f500
mov eax, ebx
mov ecx, edx
call fcn.0045f4f0
nop
call fcn.0045df10
jmp fcn.00602920