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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x4a1981
sub esp, 0xa4
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xac]
test eax, eax
je 0x4a09fc
jmp 0x4a0a24
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
add esp, 0xa4
ret
lea eax, [0x51c740]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], eax
test eax, eax
setne al
mov byte [esp + 0x27], al
jne 0x4a0a61
jmp 0x4a0a7e
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
test ecx, ecx
ja 0x4a0a72
jmp 0x4a1979
cmp byte [edx], 0x71
sete dl
mov byte [esp + 0x27], dl
jmp 0x4a0a80
jmp 0x4a0a80
movzx edx, byte [esp + 0x27]
test dl, dl
jne 0x4a0a8e
jmp 0x4a0b87
mov edx, dword [esp + 0x74]
test byte [edx], al
mov byte [edx + 1], 1
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp ecx, 1
jae 0x4a0aaa
jmp 0x4a196f
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebp
cmp ecx, 1
je 0x4a0acb
jmp 0x4a0b85
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x9c]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a0b38
jmp 0x4a0b3a
jmp 0x4a0b48
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a0b48
mov dword [eax], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
jmp 0x4a0b89
jmp 0x4a0b89
jmp 0x4a0b8b
mov edx, dword [esp + 0x70]
mov dword [esp + 0x68], edx
test edx, edx
setne dl
mov byte [esp + 0x27], dl
jne 0x4a0ba0
jmp 0x4a0bbd
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
test ecx, ecx
ja 0x4a0bb1
jmp 0x4a1968
cmp byte [edx], 0x76
sete dl
mov byte [esp + 0x27], dl
jmp 0x4a0bbf
jmp 0x4a0bbf
movzx edx, byte [esp + 0x27]
test dl, dl
jne 0x4a0bcd
jmp 0x4a0cd4
mov edx, dword [esp + 0x74]
test byte [edx], al
mov byte [edx], 1
mov edx, dword [esp + 0x74]
test byte [edx], al
mov byte [edx + 1], 0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp ecx, 1
jae 0x4a0bf2
jmp 0x4a195e
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebp
cmp ecx, 1
je 0x4a0c13
jmp 0x4a0ccd
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x98]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a0c80
jmp 0x4a0c82
jmp 0x4a0c90
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a0c90
mov dword [eax], ecx
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
jmp 0x4a0ccf
jmp 0x4a0b8b
mov edx, dword [esp + 0x74]
test byte [edx], al
mov byte [edx + 2], 1
jmp 0x4a0ce0
mov edx, dword [esp + 0x70]
mov dword [esp + 0x68], edx
test edx, edx
setne dl
mov byte [esp + 0x27], dl
jne 0x4a0cf5
jmp 0x4a0d12
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
test ecx, ecx
ja 0x4a0d06
jmp 0x4a1957
cmp byte [edx], 0x21
sete dl
mov byte [esp + 0x27], dl
jmp 0x4a0d14
jmp 0x4a0d14
movzx edx, byte [esp + 0x27]
test dl, dl
jne 0x4a0d22
jmp 0x4a0e2c
mov edx, dword [esp + 0x74]
test byte [edx], al
mov ebx, dword [esp + 0x74]
test byte [ebx], al
movzx ebx, byte [ebx + 2]
xor ebx, 1
mov byte [edx + 2], bl
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp ecx, 1
jae 0x4a0d4a
jmp 0x4a194d
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebp
cmp ecx, 1
je 0x4a0d6b
jmp 0x4a0e25
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x94]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a0dd8
jmp 0x4a0dda
jmp 0x4a0de8
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a0de8
mov dword [eax], ecx
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
jmp 0x4a0e27
jmp 0x4a0ce0
cmp dword [esp + 0x70], 1
je 0x4a0e35
jmp 0x4a0e79
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
test ecx, ecx
ja 0x4a0e46
jmp 0x4a1946
cmp byte [edx], 0x6e
je 0x4a0e4d
jmp 0x4a0e77
mov edx, dword [esp + 0x74]
test byte [edx], al
mov ebx, dword [esp + 0x74]
test byte [ebx], al
movzx ebx, byte [ebx + 2]
xor ebx, 1
mov byte [edx + 2], bl
lea edx, [0x526ac7]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 1
jmp 0x4a0e7d
jmp 0x4a0e7b
jmp 0x4a0e7b
jmp 0x4a0e7d
mov byte [esp + 0x23], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 1
mov dword [esp + 0x3c], 0
jmp 0x4a0eac
mov edx, dword [esp + 0x70]
mov dword [esp + 0x68], edx
cmp dword [esp + 0x3c], edx
jle 0x4a0ebf
jmp 0x4a1900
mov byte [esp + 0x24], 0x2d
mov edx, dword [esp + 0x70]
mov dword [esp + 0x64], edx
cmp dword [esp + 0x3c], edx
jl 0x4a0ed4
jmp 0x4a0ef4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp ecx, eax
ja 0x4a0ee9
jmp 0x4a1941
add edx, eax
movzx edx, byte [edx]
mov byte [esp + 0x24], dl
jmp 0x4a0ef6
jmp 0x4a0ef6
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x2c], edx
sete dl
mov byte [esp + 0x26], dl
je 0x4a0f09
jmp 0x4a0f17
cmp dword [esp + 0x28], 1
sete dl
mov byte [esp + 0x26], dl
jmp 0x4a0f19
jmp 0x4a0f19
movzx edx, byte [esp + 0x26]
mov byte [esp + 0x27], dl
test dl, dl
jne 0x4a0f28
jmp 0x4a0f36
cmp byte [esp + 0x24], 0x78
sete dl
mov byte [esp + 0x27], dl
jmp 0x4a0f38
jmp 0x4a0f38
movzx edx, byte [esp + 0x27]
test dl, dl
jne 0x4a0f43
jmp 0x4a0f59
mov edx, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], 4
jmp 0x4a1835
movzx edx, byte [esp + 0x24]
mov byte [esp + 0x25], dl
cmp dl, 0x31
jbe 0x4a0f6c
jmp 0x4a1430
cmp dl, 0x2b
je 0x4a0f73
jmp 0x4a0f75
jmp 0x4a0f81
cmp dl, 0x2d
je 0x4a0f7f
jmp 0x4a1410
jmp 0x4a0f81
cmp byte [esp + 0x24], 0x2b
sete dl
mov byte [esp + 0x26], dl
je 0x4a0f91
jmp 0x4a0f9f
movzx edx, byte [esp + 0x23]
xor edx, 1
mov byte [esp + 0x26], dl
jmp 0x4a0fa1
jmp 0x4a0fa1
movzx edx, byte [esp + 0x26]
test dl, dl
jne 0x4a0faf
jmp 0x4a1069
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52ed34]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x24
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x80]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a101c
jmp 0x4a101e
jmp 0x4a102c
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a102c
mov dword [eax], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
mov edx, dword [esp + 0x3c]
test edx, edx
jg 0x4a1076
jmp 0x4a133e
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x28]
mov dword [esp + 0x30], edx
cmp edx, 0x40
jg 0x4a1091
jmp 0x4a1142
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b4ac]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x7c]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a10f8
jmp 0x4a10fa
jmp 0x4a1108
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a1108
mov dword [eax], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
test edx, edx
jle 0x4a114b
jmp 0x4a11fc
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x78]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a11b2
jmp 0x4a11b4
jmp 0x4a11c2
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a11c2
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp ecx, eax
ja 0x4a1211
jmp 0x4a193c
add edx, eax
cmp byte [edx], 0x79
je 0x4a121a
jmp 0x4a1224
mov dword [esp + 0x30], 0
jmp 0x4a1226
jmp 0x4a1226
mov ecx, dword [esp + 0x30]
test ecx, ecx
jge 0x4a1233
jmp 0x4a1937
mov edx, 1
shl edx, cl
lea ebx, [ecx - 0x20]
mov eax, ecx
mov ecx, ebx
mov ebp, 1
shl ebp, cl
lea esi, [eax - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov ecx, esi
mov edi, edx
mov edx, 1
shr edx, cl
cmp ecx, 0x20
sbb ecx, ecx
and edx, ecx
cmp ebx, 0x20
sbb ebx, ebx
and ebp, ebx
or edx, ebp
cmp eax, 0x20
sbb ebx, ebx
and edi, ebx
add edi, 0xffffffff
mov dword [esp + 0x34], edi
adc edx, 0xffffffff
mov dword [esp + 0x38], edx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.00475a0b
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
movzx edx, byte [esp + 0x23]
mov byte [esp + 0x60], dl
mov edx, dword [esp + 0x74]
test byte [edx], al
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 4]
mov edx, dword [edx + 8]
inc edx
cmp ebx, edx
jae 0x4a12cb
jmp 0x4a12cd
jmp 0x4a12fd
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x519f20]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x4a12fd
lea ecx, [edx + edx*4]
lea edi, [ebp + ecx*4 - 0x14]
lea esi, [esp + 0x50]
call fcn.00475eee
mov ecx, dword [esp + 0x74]
test byte [ecx], al
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], ebx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a1325
jmp 0x4a1327
jmp 0x4a1336
call fcn.004757c0
mov dword [edi], ebp
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
jmp 0x4a1336
mov dword [ecx + 4], ebp
jmp 0x4a13de
cmp byte [esp + 0x24], 0x2d
je 0x4a134a
jmp 0x4a13da
mov ecx, dword [esp + 0x74]
test byte [ecx], al
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
inc ecx
cmp edx, ecx
jae 0x4a1360
jmp 0x4a1362
jmp 0x4a1392
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x519f20]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x4a1392
mov dword [esp + 0x4c], ecx
lea ebp, [ecx + ecx*4]
lea edi, [ebx + ebp*4 - 0x14]
lea esi, [0x53aed4]
call fcn.00475eee
mov ecx, dword [esp + 0x74]
test byte [ecx], al
mov ebp, dword [esp + 0x4c]
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a13c4
jmp 0x4a13c6
jmp 0x4a13d5
call fcn.004757c0
mov dword [edi], ebx
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
jmp 0x4a13d5
mov dword [ecx + 4], ebx
jmp 0x4a13dc
jmp 0x4a13dc
jmp 0x4a13de
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
cmp byte [esp + 0x24], 0x2b
sete dl
mov byte [esp + 0x23], dl
mov edx, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], 1
jmp 0x4a1833
cmp dl, 0x30
jae 0x4a1417
jmp 0x4a1425
cmp dl, 0x31
jbe 0x4a141e
jmp 0x4a1423
jmp 0x4a1518
jmp 0x4a1427
jmp 0x4a1427
jmp 0x4a1429
jmp 0x4a142b
jmp 0x4a1844
cmp dl, 0x46
jbe 0x4a143a
jmp 0x4a15b8
cmp dl, 0x32
jae 0x4a1444
jmp 0x4a159b
cmp dl, 0x39
jbe 0x4a144e
jmp 0x4a1599
jmp 0x4a1450
cmp dword [esp + 0x28], 4
jne 0x4a145c
jmp 0x4a1516
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x8c]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a14c9
jmp 0x4a14cb
jmp 0x4a14d9
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a14d9
mov dword [eax], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
jmp 0x4a1518
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
test ecx, ecx
jge 0x4a152d
jmp 0x4a1932
mov dword [esp + 0x4c], ecx
shl ebx, cl
mov ebp, edx
shl edx, cl
mov dword [esp + 0x48], edx
lea eax, [ecx - 0x20]
mov esi, ecx
mov ecx, eax
mov edi, ebp
shl ebp, cl
lea edx, [esi - 0x20]
neg edx
mov ecx, edx
shr edi, cl
cmp esi, 0x20
sbb esi, esi
and ebx, esi
cmp ecx, 0x20
sbb edx, edx
and edi, edx
or ebx, edi
cmp eax, 0x20
sbb edx, edx
and ebp, edx
or ebx, ebp
mov edx, dword [esp + 0x4c]
cmp edx, 0x20
sbb edx, edx
mov ebp, dword [esp + 0x48]
and ebp, edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
movzx edx, byte [esp + 0x24]
add edx, 0xffffffd0
movzx edx, dl
or ebp, edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
jmp 0x4a1833
jmp 0x4a159d
jmp 0x4a159d
cmp dl, 0x41
jae 0x4a15a4
jmp 0x4a15af
cmp dl, 0x46
jbe 0x4a15ab
jmp 0x4a15ad
jmp 0x4a15ce
jmp 0x4a15b1
jmp 0x4a15b1
jmp 0x4a15b3
jmp 0x4a1842
cmp dl, 0x61
jae 0x4a15c2
jmp 0x4a16d0
cmp dl, 0x66
jbe 0x4a15cc
jmp 0x4a16ce
jmp 0x4a15ce
cmp dword [esp + 0x28], 4
jne 0x4a15da
jmp 0x4a1694
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x88]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a1647
jmp 0x4a1649
jmp 0x4a1657
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a1657
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
mov edx, dword [esp + 0x40]
mov ebx, edx
shl edx, 4
shr ebx, 0x1c
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x40], edx
shl ebp, 4
or ebp, ebx
mov dword [esp + 0x44], ebp
movzx ebx, byte [esp + 0x24]
and ebx, 0xffffffdf
add ebx, 0xffffffc9
movzx ebx, bl
or edx, ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebp
jmp 0x4a1833
jmp 0x4a16d2
jmp 0x4a16d2
cmp dl, 0x79
je 0x4a16dc
jmp 0x4a183e
jmp 0x4a16de
mov edx, dword [esp + 0x70]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x3c]
inc ebx
cmp edx, ebx
setg dl
mov byte [esp + 0x26], dl
jg 0x4a16f8
jmp 0x4a1757
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x3c]
lea eax, [ebx + 1]
cmp ecx, eax
ja 0x4a1710
jmp 0x4a192d
lea edx, [ebx + edx + 1]
cmp byte [edx], 0x30
sete dl
mov byte [esp + 0x27], dl
je 0x4a1722
jmp 0x4a1724
jmp 0x4a174c
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x3c]
lea eax, [ebx + 1]
cmp ecx, eax
ja 0x4a173c
jmp 0x4a1928
lea edx, [ebx + edx + 1]
cmp byte [edx], 0x31
sete dl
mov byte [esp + 0x27], dl
jmp 0x4a174c
movzx edx, byte [esp + 0x27]
mov byte [esp + 0x26], dl
jmp 0x4a1759
jmp 0x4a1759
movzx edx, byte [esp + 0x26]
test dl, dl
jne 0x4a1767
jmp 0x4a1821
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x84]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a17d4
jmp 0x4a17d6
jmp 0x4a17e4
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a17e4
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
jmp 0x4a1833
jmp 0x4a1835
inc dword [esp + 0x3c]
jmp 0x4a0eac
jmp 0x4a1840
jmp 0x4a1842
jmp 0x4a1844
jmp 0x4a1846
lea eax, [0x514c80]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], 0
lea edx, [0x52b959]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00455930
mov eax, dword [esp + 0x90]
test byte [eax], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4a18b3
jmp 0x4a18b5
jmp 0x4a18c3
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x4a18c3
mov dword [eax], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xa0]
lea ecx, [0x53adf0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa4
ret
mov eax, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
add esp, 0xa4
ret
call fcn.00475830
call fcn.00475830
call fcn.0043acb0
call fcn.0043acb0
call fcn.00475830
call fcn.00475830
xor eax, eax
call fcn.00475830
mov eax, 1
call fcn.00475890
xor eax, eax
call fcn.00475830
mov eax, 1
call fcn.00475890
xor eax, eax
call fcn.00475830
mov eax, 1
call fcn.00475890
xor eax, eax
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004a09b0