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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x63a0bb
sub esp, 0xd8
mov ebx, dword [esp + 0xdc]
mov ebp, dword [ebx + 0x24]
test ebp, ebp
jne 0x63939b
mov ebp, dword [esp + 0xe4]
test ebp, ebp
je 0x639394
mov esi, dword [esp + 0xe0]
lea edi, [esi + ebp*4 - 4]
mov edi, dword [edi]
cmp edi, 0x100
jne 0x6392f7
dec ebp
mov edx, dword [esp + 0xf4]
cmp edx, 0x100
jb 0x63a0b0
mov eax, edi
mov edi, dword [esp + 0x100]
cmp edi, 0x20
jb 0x63a0a4
mov ecx, dword [esp + 0xf0]
cmp ecx, 0x101
jb 0x63a09a
add edx, 0xfffffeff
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 0x404
mov ecx, esi
mov esi, dword [esp + 0xec]
add esi, edx
cmp edi, 0x20
jb 0x63a08e
mov dword [esp + 0xd4], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], eax
mov edi, dword [ebx + 8]
mov edx, esi
mov esi, dword [ebx + 0xc]
movzx ebp, byte [ebx + 0x10]
movzx ebx, byte [ebx + 0x11]
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xcc]
jmp 0x6393c9
add esp, 0xd8
ret
add esp, 0xd8
ret
mov eax, dword [esp + 0xa8]
inc eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xa8], eax
mov ebp, ebx
mov ebx, edi
mov eax, dword [esp + 0xac]
mov edi, esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x4c], edi
mov byte [esp + 0x1f], bl
mov ebx, dword [esp + 0xb0]
mov edi, dword [esp + 0xa8]
cmp ebx, edi
jle 0x639f95
mov dword [esp + 0x50], esi
xchg ebp, eax
mov byte [esp + 0x1e], al
xchg ebp, eax
mov ebx, dword [ecx + edi*4]
cmp ebx, 0x100
jae 0x639637
and ebp, 0x3f
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea edi, [ebp - 0x20]
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb esi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x29], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0xec]
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x5c], ebx
shr ebx, 8
mov dword [esp + 0xa0], ebx
movzx ecx, byte [esp + 0x2a]
shl ebx, cl
and ebx, esi
movzx ecx, byte [esp + 0x29]
mov esi, dword [esp + 0xa0]
shr esi, cl
and esi, edi
or esi, ebx
mov ebx, dword [esp + 0x50]
or esi, ebx
movzx ecx, byte [esp + 0x2b]
mov ebx, dword [esp + 0xa0]
shl ebx, cl
mov edi, dword [esp + 0xa4]
and ebx, edi
mov edi, dword [esp + 0x4c]
or edi, ebx
mov ebx, dword [esp + 0x5c]
mov ecx, ebp
movzx ebp, byte [esp + 0x1e]
add ebx, ebp
cmp bl, 0x30
jb 0x639620
movzx ebx, byte [esp + 0x1f]
movzx ebx, bl
cmp ebx, 0x108
ja 0x63a082
lea ebp, [ebx - 0x108]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x44], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebx, ebp
mov ebp, dword [esp + 0x44]
cmp ebp, 7
jbe 0x63a076
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], esi
mov ebp, dword [esp + 0xdc]
xchg edi, eax
mov byte [ebp + ebx + 0x34], al
xchg edi, eax
shr edi, 8
shl esi, 0x18
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x35], al
xchg edi, eax
mov esi, dword [esp + 0x9c]
shr esi, 0x10
mov edi, dword [esp + 0x98]
shl edi, 0x10
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x36], al
xchg edi, eax
mov esi, dword [esp + 0x98]
shl esi, 8
mov edi, dword [esp + 0x9c]
shr edi, 0x18
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x37], al
xchg edi, eax
mov esi, dword [esp + 0x98]
mov dword [ebp + ebx + 0x38], esi
mov ebx, dword [esp + 0x5c]
movzx edi, byte [esp + 0x1e]
lea ebx, [edi + ebx - 0x30]
movzx edi, byte [esp + 0x1f]
add edi, 6
xchg edi, eax
cmp al, 0xf6
xchg edi, eax
jb 0x639604
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x639f72
xchg edi, ebx
movzx eax, bl
xchg edi, ebx
cmp eax, 0x108
ja 0x63a06a
mov byte [esp + 0x28], bl
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
lea edx, [ebp + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x108
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x6395d2
mov dword [edx + 0x28], eax
jmp 0x6395da
lea edi, [edx + 0x28]
call fcn.00456ac0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xd4]
movzx ebx, byte [esp + 0x28]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x98]
xor edi, edi
shr esi, 0x10
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc4]
jmp 0x6393a2
mov ebp, dword [esp + 0xdc]
mov dword [esp + 0x50], esi
mov esi, edi
movzx edi, byte [esp + 0x1f]
jmp 0x6393a2
mov dword [esp + 0x48], ebx
and ebp, 0x3f
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea edi, [ebp - 0x20]
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb esi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x29], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov dword [esp + 0xa4], ebp
nop
shr ebx, 0x16
mov dword [esp + 0x94], ebx
movzx ebx, bl
lea ebp, [0x67a200]
movzx ebx, byte [ebx + ebp]
mov byte [esp + 0x1c], bl
and ebx, 0x1f
mov ebp, dword [edx + ebx*4]
mov dword [esp + 0x58], ebp
shr ebp, 8
mov dword [esp + 0xa0], ebp
movzx ecx, byte [esp + 0x2a]
shl ebp, cl
and ebp, esi
movzx ecx, byte [esp + 0x29]
mov esi, dword [esp + 0xa0]
shr esi, cl
and esi, edi
or esi, ebp
mov ebp, dword [esp + 0x50]
or esi, ebp
movzx ecx, byte [esp + 0x2b]
mov ebp, dword [esp + 0xa0]
shl ebp, cl
mov edi, dword [esp + 0xa4]
and ebp, edi
mov edi, dword [esp + 0x4c]
or edi, ebp
mov ebp, dword [esp + 0x58]
mov ecx, ebx
movzx ebx, byte [esp + 0x1e]
add ebx, ebp
cmp bl, 0x30
jb 0x639876
movzx ebx, byte [esp + 0x1f]
movzx ebx, bl
cmp ebx, 0x108
ja 0x63a05e
lea ebp, [ebx - 0x108]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x40], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebx, ebp
mov ebp, dword [esp + 0x40]
cmp ebp, 7
jbe 0x63a052
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + 0xdc]
xchg edi, eax
mov byte [ebp + ebx + 0x34], al
xchg edi, eax
shr edi, 8
shl esi, 0x18
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x35], al
xchg edi, eax
mov esi, dword [esp + 0x90]
shr esi, 0x10
mov edi, dword [esp + 0x8c]
shl edi, 0x10
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x36], al
xchg edi, eax
mov esi, dword [esp + 0x8c]
shl esi, 8
mov edi, dword [esp + 0x90]
shr edi, 0x18
or edi, esi
xchg edi, eax
mov byte [ebp + ebx + 0x37], al
xchg edi, eax
mov esi, dword [esp + 0x8c]
mov dword [ebp + ebx + 0x38], esi
mov ebx, dword [esp + 0x58]
movzx edi, byte [esp + 0x1e]
lea ebx, [edi + ebx - 0x30]
movzx edi, byte [esp + 0x1f]
add edi, 6
xchg edi, eax
cmp al, 0xf6
xchg edi, eax
jb 0x63985d
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x639f79
xchg edi, ebx
movzx eax, bl
xchg edi, ebx
cmp eax, 0x108
ja 0x63a046
mov dword [esp + 0x88], ecx
mov byte [esp + 0x27], bl
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
lea edx, [ebp + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x108
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x63982b
mov dword [edx + 0x28], eax
jmp 0x639833
lea edi, [edx + 0x28]
call fcn.00456ac0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xd4]
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x8c]
xor edi, edi
shr esi, 0x10
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
jmp 0x639888
mov ebp, dword [esp + 0xdc]
mov dword [esp + 0x50], esi
mov esi, edi
movzx edi, byte [esp + 0x1f]
movzx ebp, byte [esp + 0x1c]
and ebp, 0x1f
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jb 0x639acf
mov dword [esp + 0x84], esi
xchg edi, eax
mov byte [esp + 0x26], al
xchg edi, eax
mov byte [esp + 0x25], bl
and ebx, 0x3f
mov byte [esp + 0x2b], bl
lea edi, [ebx - 0x20]
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x29], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebp, ebp
mov dword [esp + 0xa4], ebp
movzx esi, byte [esp + 0x2a]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebp, ebp
cmp bl, 0x20
sbb ebx, ebx
mov dword [esp + 0x80], ebx
lea ebx, [0x674f00]
movzx ebx, byte [ebx + ecx]
mov byte [esp + 0x1d], bl
lea ebx, [0x674f20]
movzx ebx, byte [ebx + ecx]
mov edi, dword [esp + 0x94]
sub edi, ebx
xchg edi, eax
movzx ebx, al
xchg edi, eax
mov dword [esp + 0x60], ebx
mov edi, ebx
sar ebx, 0x1f
mov ecx, esi
mov esi, edi
shl edi, cl
and edi, ebp
movzx ecx, byte [esp + 0x29]
shr esi, cl
mov ebp, dword [esp + 0xa4]
and esi, ebp
movzx ecx, byte [esp + 0x2b]
shl ebx, cl
mov ebp, dword [esp + 0x80]
and ebx, ebp
or ebx, esi
or ebx, edi
mov esi, dword [esp + 0x50]
or ebx, esi
mov esi, dword [esp + 0x60]
shl esi, cl
and esi, ebp
mov ebp, dword [esp + 0x84]
or ebp, esi
movzx esi, byte [esp + 0x25]
movzx edi, byte [esp + 0x1d]
mov ecx, esi
add esi, edi
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x639abb
movzx esi, byte [esp + 0x26]
xchg esi, eax
movzx eax, al
xchg esi, eax
cmp esi, 0x108
ja 0x63a03a
lea edi, [esi - 0x108]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x3c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
mov edi, dword [esp + 0x3c]
cmp edi, 7
jbe 0x63a02e
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebp
mov edi, dword [esp + 0xdc]
xchg ebp, eax
mov byte [edi + esi + 0x34], al
xchg ebp, eax
shr ebp, 8
shl ebx, 0x18
or ebp, ebx
xchg ebp, eax
mov byte [edi + esi + 0x35], al
xchg ebp, eax
mov ebx, dword [esp + 0x7c]
shl ebx, 0x10
mov ebp, dword [esp + 0x78]
shr ebp, 0x10
or ebp, ebx
xchg ebp, eax
mov byte [edi + esi + 0x36], al
xchg ebp, eax
mov ebx, dword [esp + 0x7c]
shl ebx, 8
mov ebp, dword [esp + 0x78]
shr ebp, 0x18
or ebx, ebp
mov byte [edi + esi + 0x37], bl
mov ebx, dword [esp + 0x7c]
mov dword [edi + esi + 0x38], ebx
movzx ebp, byte [esp + 0x1d]
lea ebp, [ebp + ecx - 0x30]
movzx esi, byte [esp + 0x26]
add esi, 6
xchg esi, eax
cmp al, 0xf6
xchg esi, eax
jb 0x639ab4
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x639f80
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
cmp eax, 0x108
ja 0x63a022
xchg ebp, eax
mov byte [esp + 0x24], al
xchg ebp, eax
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
lea edx, [edi + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x108
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x639a8c
mov dword [edx + 0x28], eax
jmp 0x639a94
lea edi, [edx + 0x28]
call fcn.00456ac0
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0x7c]
movzx ebp, byte [esp + 0x24]
mov edi, dword [esp + 0xdc]
xor esi, esi
shr ebx, 0x10
xor ecx, ecx
jmp 0x639ae0
mov edi, dword [esp + 0xdc]
mov ecx, ebx
mov ebx, ebp
mov ebp, esi
movzx esi, byte [esp + 0x26]
jmp 0x639ae0
mov ecx, dword [esp + 0x50]
mov ebp, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x50], ecx
xchg esi, eax
mov byte [esp + 0x1f], al
xchg esi, eax
xchg ebp, eax
mov byte [esp + 0x1e], al
xchg ebp, eax
mov dword [esp + 0x4c], ebx
and ebp, 0x3f
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea edi, [ebp - 0x20]
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb esi, esi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebx, ebx
mov dword [esp + 0xa4], ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
mov dword [esp + 0x80], ebx
nop
mov ebp, dword [esp + 0x48]
and ebp, 0x3fffff
mov dword [esp + 0x2c], ebp
shr ebp, 0x10
and ebp, 0x1f
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + ebp*4]
mov dword [esp + 0x54], ebx
shr ebx, 8
mov dword [esp + 0xa0], ebx
movzx ecx, byte [esp + 0x2a]
shl ebx, cl
and ebx, esi
mov ecx, edi
mov esi, dword [esp + 0xa0]
mov edi, esi
shr esi, cl
mov ecx, ebp
mov ebp, dword [esp + 0x80]
and esi, ebp
or ebx, esi
mov ebp, dword [esp + 0x50]
or ebx, ebp
mov ebp, ecx
movzx ecx, byte [esp + 0x2b]
shl edi, cl
mov esi, dword [esp + 0xa4]
and esi, edi
mov edi, dword [esp + 0x4c]
or edi, esi
movzx esi, byte [esp + 0x1e]
mov ecx, ebp
mov ebp, dword [esp + 0x54]
add ebp, esi
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x639d1b
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x108
ja 0x63a016
lea esi, [ebp - 0x108]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x38], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0x38]
cmp esi, 7
jbe 0x63a00a
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], edi
mov esi, dword [esp + 0xdc]
xchg edi, eax
mov byte [esi + ebp + 0x34], al
xchg edi, eax
shr edi, 8
shl ebx, 0x18
or edi, ebx
xchg edi, eax
mov byte [esi + ebp + 0x35], al
xchg edi, eax
mov ebx, dword [esp + 0x70]
shr ebx, 0x10
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, ebx
xchg edi, eax
mov byte [esi + ebp + 0x36], al
xchg edi, eax
mov ebx, dword [esp + 0x74]
shl ebx, 8
mov edi, dword [esp + 0x70]
shr edi, 0x18
or ebx, edi
mov byte [esi + ebp + 0x37], bl
mov ebx, dword [esp + 0x74]
mov dword [esi + ebp + 0x38], ebx
movzx ebp, byte [esp + 0x1e]
mov edi, dword [esp + 0x54]
lea ebp, [edi + ebp - 0x30]
movzx edi, byte [esp + 0x1f]
add edi, 6
xchg edi, eax
cmp al, 0xf6
xchg edi, eax
jb 0x639d02
mov eax, dword [esi + 0x24]
test eax, eax
jne 0x639f87
xchg edi, ebx
movzx eax, bl
xchg edi, ebx
cmp eax, 0x108
ja 0x639ffe
mov dword [esp + 0xa4], ecx
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
lea edx, [esi + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x108
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x639cd3
mov dword [edx + 0x28], eax
jmp 0x639cdb
lea edi, [edx + 0x28]
call fcn.00456ac0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0x74]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0xdc]
xor edi, edi
shr ebx, 0x10
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xb4]
jmp 0x639d2d
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x50], ebx
mov ebx, edi
movzx edi, byte [esp + 0x1f]
cmp ecx, 4
jb 0x639f48
mov dword [esp + 0x6c], ebx
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
xchg ebp, eax
mov byte [esp + 0x21], al
xchg ebp, eax
and ebp, 0x3f
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea esi, [ebp - 0x20]
xchg esi, eax
mov byte [esp + 0x2a], al
xchg esi, eax
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb edi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebx, ebx
mov dword [esp + 0xa4], ebx
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov dword [esp + 0x80], ebp
lea ebp, [0x902320]
mov ebp, dword [ebp + ecx*4]
mov ecx, ebp
shr ebp, 8
mov ebx, dword [esp + 0x2c]
sub ebx, ebp
and ebx, 0xffff
mov dword [esp + 0x68], ebx
mov ebp, ecx
movzx ecx, byte [esp + 0x2a]
shl ebx, cl
and ebx, edi
mov ecx, esi
mov esi, dword [esp + 0x68]
mov edi, esi
shr esi, cl
mov ecx, ebp
mov ebp, dword [esp + 0xa4]
and esi, ebp
or ebx, esi
mov ebp, dword [esp + 0x50]
or ebx, ebp
mov ebp, ecx
movzx ecx, byte [esp + 0x2b]
shl edi, cl
mov esi, dword [esp + 0x80]
and edi, esi
mov esi, dword [esp + 0x6c]
or esi, edi
movzx edi, byte [esp + 0x21]
mov ecx, ebp
add ebp, edi
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x639f36
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x108
ja 0x639ff2
lea edi, [ebp - 0x108]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x34], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebp, edi
mov edi, dword [esp + 0x34]
cmp edi, 7
jbe 0x639fe6
mov dword [esp + 0x64], ebx
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0xdc]
xchg esi, eax
mov byte [edi + ebp + 0x34], al
xchg esi, eax
shr esi, 8
shl ebx, 0x18
or esi, ebx
xchg esi, eax
mov byte [edi + ebp + 0x35], al
xchg esi, eax
mov ebx, dword [esp + 0x64]
shl ebx, 0x10
mov esi, dword [esp + 0x30]
shr esi, 0x10
or esi, ebx
xchg esi, eax
mov byte [edi + ebp + 0x36], al
xchg esi, eax
mov ebx, dword [esp + 0x64]
shl ebx, 8
mov esi, dword [esp + 0x30]
shr esi, 0x18
or ebx, esi
mov byte [edi + ebp + 0x37], bl
mov ebx, dword [esp + 0x64]
mov dword [edi + ebp + 0x38], ebx
movzx ebp, byte [esp + 0x21]
lea ebp, [ecx + ebp - 0x30]
movzx esi, byte [esp + 0x22]
add esi, 6
xchg esi, eax
cmp al, 0xf6
xchg esi, eax
jb 0x639f2f
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x639f8e
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
cmp eax, 0x108
ja 0x639fda
xchg ebp, eax
mov byte [esp + 0x20], al
xchg ebp, eax
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
lea edx, [edi + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x108
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x639f07
mov dword [edx + 0x28], eax
jmp 0x639f0f
lea edi, [edx + 0x28]
call fcn.00456ac0
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0x64]
movzx ebp, byte [esp + 0x20]
mov edi, dword [esp + 0xdc]
xor esi, esi
shr ebx, 0x10
xor ecx, ecx
jmp 0x639f55
mov edi, dword [esp + 0xdc]
mov ecx, ebx
mov ebx, esi
movzx esi, byte [esp + 0x22]
jmp 0x639f55
mov ecx, dword [esp + 0x50]
mov esi, edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x50], ecx
mov edi, esi
mov ecx, dword [esp + 0xec]
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0xdc]
jmp 0x6393a2
add esp, 0xd8
ret
add esp, 0xd8
ret
add esp, 0xd8
ret
add esp, 0xd8
ret
add esp, 0xd8
ret
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xdc]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], esi
xchg ebp, eax
mov byte [edx + 0x10], al
xchg ebp, eax
movzx ecx, byte [esp + 0x1f]
mov byte [edx + 0x11], cl
cmp eax, 0x100
jne 0x639fd3
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x400]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00637bf0
add esp, 0xd8
ret
mov ecx, eax
mov edx, 0x108
call fcn.00456b60
mov eax, 7
mov ecx, edi
call fcn.00456b40
mov eax, ebp
mov ecx, 0x108
call fcn.00456ba0
mov ecx, eax
mov edx, 0x108
call fcn.00456b60
mov eax, 7
mov ecx, esi
call fcn.00456b40
mov eax, ebp
mov ecx, 0x108
call fcn.00456ba0
mov ecx, eax
mov edx, 0x108
call fcn.00456b60
mov eax, 7
mov ecx, edi
call fcn.00456b40
mov eax, esi
mov ecx, 0x108
call fcn.00456ba0
mov ecx, eax
mov edx, 0x108
call fcn.00456b60
mov eax, 7
mov ecx, ebp
call fcn.00456b40
mov eax, ebx
mov ecx, 0x108
call fcn.00456ba0
mov ecx, eax
mov edx, 0x108
call fcn.00456b60
mov eax, 7
mov ecx, ebp
call fcn.00456b40
mov eax, ebx
mov ecx, 0x108
call fcn.00456ba0
mov ecx, 0x20
mov edx, edi
call fcn.00456b80
mov eax, 0x101
call fcn.00456ba0
mov ecx, 0x20
mov edx, edi
call fcn.00456b80
mov ecx, 0x100
call fcn.00456b80
nop
call fcn.00455690
jmp fcn.006392a0