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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x9c]
cmp eax, dword [ecx + 8]
jbe 0x4e7b8a
sub esp, 0x11c
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 0
mov byte [esp + 0x28], 0
mov ebx, dword [esp + 0x120]
test byte [ebx], al
mov byte [ebx + 0x7c], 0
jmp 0x4e6ba8
mov dword [esp + 0x44], 0
jmp 0x4e6bb2
mov ebx, dword [esp + 0x44]
cmp dword [esp + 0x48], ebx
jg 0x4e6bbe
jmp 0x4e6bd8
mov ebx, dword [esp + 0x120]
test byte [ebx], al
mov byte [ebx + 0x7d], 1
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x3c], ebx
jmp 0x4e6e85
jmp 0x4e6bda
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx eax, byte [eax + 0x7c]
mov ecx, eax
xor eax, 1
mov byte [esp + 0x2b], al
test cl, cl
jne 0x4e6bf6
jmp 0x4e6bf8
jmp 0x4e6c10
mov eax, dword [esp + 0x130]
mov dword [esp + 0x60], eax
cmp dword [esp + 0x4c], eax
setl al
mov byte [esp + 0x2b], al
jmp 0x4e6c10
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x4e6c1e
jmp 0x4e6cd1
mov eax, dword [esp + 0x120]
test byte [eax], al
add eax, 0x20
mov dword [esp + 0xc8], eax
mov dword [esp], eax
call fcn.004ddfc0
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xc4], eax
mov dword [esp], eax
lea eax, [0x527471]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
call fcn.004e0f20
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
mov ebx, dword [esp + 0x134]
jmp 0x4e6c7e
cmp eax, ecx
jbe 0x4e6c87
jmp 0x4e6e80
sub ecx, eax
sub ebx, eax
mov ebp, ebx
neg ebx
shl eax, 3
sar ebx, 0x1f
and eax, ebx
add eax, edx
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], ebp
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], ecx
jmp 0x4e6cda
jmp 0x4e6cd3
add esp, 0x11c
ret
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
jg 0x4e6ce9
jmp 0x4e6e5e
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xf4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x40]
test eax, eax
jg 0x4e6d1c
jmp 0x4e6d48
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xc0], eax
mov dword [esp], eax
lea eax, [0x526acc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.004e0f20
jmp 0x4e6d4a
jmp 0x4e6d4a
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x4e6d5a
jmp 0x4e6e27
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00498960
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
test byte [eax], al
mov eax, dword [eax + 0x94]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004e0f20
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xb4], eax
mov dword [esp], eax
mov byte [esp + 4], 0x3d
call fcn.004e1030
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x120]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x76
call fcn.004e3e20
jmp 0x4e6e53
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xbc], eax
mov dword [esp], eax
lea eax, [0x526d7b]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.004e0f20
jmp 0x4e6e53
jmp 0x4e6e55
inc dword [esp + 0x58]
jmp 0x4e6cda
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xb0], eax
mov dword [esp], eax
mov byte [esp + 4], 0x29
call fcn.004e1030
jmp 0x4e6cd3
call fcn.00475890
mov ebx, dword [esp + 0x44]
cmp dword [esp + 0x48], ebx
setg bl
mov byte [esp + 0x2c], bl
jg 0x4e6e98
jmp 0x4e6ec1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov ebx, dword [esp + 0x124]
cmp ecx, eax
ja 0x4e6eb3
jmp 0x4e7b84
add ebx, eax
cmp byte [ebx], 0x25
setne bl
mov byte [esp + 0x2c], bl
jmp 0x4e6ec3
jmp 0x4e6ec3
movzx ebx, byte [esp + 0x2c]
test bl, bl
jne 0x4e6ece
jmp 0x4e6ed6
inc dword [esp + 0x44]
jmp 0x4e6ed4
jmp 0x4e6e85
mov ebx, dword [esp + 0x44]
cmp dword [esp + 0x3c], ebx
jl 0x4e6ee2
jmp 0x4e6f55
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x128]
mov ebx, dword [esp + 0x124]
cmp edx, ecx
jae 0x4e6f01
jmp 0x4e7b7f
cmp ecx, eax
jae 0x4e6f0a
jmp 0x4e7b7a
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004e0f20
jmp 0x4e6f57
jmp 0x4e6f57
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x48], eax
jle 0x4e6f63
jmp 0x4e6f68
jmp 0x4e6bda
inc dword [esp + 0x44]
mov eax, dword [esp + 0x120]
test byte [eax], al
add eax, 0x20
mov dword [esp + 0xec], eax
mov dword [esp], eax
call fcn.004ddfc0
jmp 0x4e6f89
jmp 0x4e6f8b
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x48], edx
jg 0x4e6f9a
jmp 0x4e7219
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp ecx, eax
ja 0x4e6fb5
jmp 0x4e7b75
add edx, eax
movzx edx, byte [edx]
mov byte [esp + 0x27], dl
mov byte [esp + 0x2a], dl
cmp dl, 0x23
jbe 0x4e6fc9
jmp 0x4e6ffd
cmp dl, 0x20
je 0x4e6fd0
jmp 0x4e6fe1
jmp 0x4e6fd2
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x29], 1
jmp 0x4e7045
cmp dl, 0x23
je 0x4e6fe8
jmp 0x4e6ff9
jmp 0x4e6fea
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x28], 1
jmp 0x4e7045
jmp 0x4e6ffb
jmp 0x4e7056
cmp dl, 0x2b
je 0x4e7004
jmp 0x4e7015
jmp 0x4e7006
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x27], 1
jmp 0x4e7045
cmp dl, 0x2d
je 0x4e701c
jmp 0x4e702d
jmp 0x4e701e
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x26], 1
jmp 0x4e7045
cmp dl, 0x30
je 0x4e7034
jmp 0x4e7050
jmp 0x4e7036
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x2a], 1
jmp 0x4e7045
jmp 0x4e7047
inc dword [esp + 0x44]
jmp 0x4e6f8b
jmp 0x4e7052
jmp 0x4e7054
jmp 0x4e7056
jmp 0x4e7058
cmp dl, 0x61
setae bl
mov byte [esp + 0x2b], bl
jae 0x4e7066
jmp 0x4e7072
cmp dl, 0x7a
setbe dl
mov byte [esp + 0x2b], dl
jmp 0x4e7074
jmp 0x4e7074
movzx edx, byte [esp + 0x2b]
mov byte [esp + 0x2c], dl
test dl, dl
jne 0x4e7083
jmp 0x4e709b
mov edx, dword [esp + 0x130]
mov dword [esp + 0x68], edx
cmp dword [esp + 0x4c], edx
setl dl
mov byte [esp + 0x2c], dl
jmp 0x4e709d
jmp 0x4e709d
movzx edx, byte [esp + 0x2c]
test dl, dl
jne 0x4e70ab
jmp 0x4e7217
movzx edx, byte [esp + 0x27]
mov byte [esp + 0x29], dl
cmp dl, 0x76
je 0x4e70bb
jmp 0x4e70c0
jmp 0x4e7167
cmp dl, 0x77
je 0x4e70ca
jmp 0x4e71b5
jmp 0x4e70cc
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [edx + 0x8c]
mov ebp, dword [edx + 0x84]
mov edx, dword [edx + 0x88]
inc edx
cmp ebx, edx
jae 0x4e70ee
jmp 0x4e70f0
jmp 0x4e7120
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x511820]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x4e7120
lea esi, [ebp + edx*4 - 4]
mov edi, dword [esp + 0x4c]
mov dword [esi], edi
mov esi, dword [esp + 0x120]
test byte [esi], al
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], ebx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4e714b
jmp 0x4e714d
jmp 0x4e715f
call fcn.004757c0
mov dword [edi], ebp
mov edx, dword [esi + 0x84]
mov dword [edi + 4], edx
jmp 0x4e715f
mov dword [esi + 0x84], ebp
jmp 0x4e7167
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [esp + 0x120]
test byte [ebx], al
movzx ebx, byte [ebx + 0x28]
mov byte [edx + 0x2c], bl
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x28], 0
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [esp + 0x120]
test byte [ebx], al
movzx ebx, byte [ebx + 0x27]
mov byte [edx + 0x2b], bl
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x27], 0
jmp 0x4e71b9
jmp 0x4e71b7
jmp 0x4e71b9
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
cmp ecx, eax
ja 0x4e71d4
jmp 0x4e7b70
lea eax, [edx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 0x120]
movzx ebx, byte [esp + 0x27]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.004e3e20
inc dword [esp + 0x4c]
inc dword [esp + 0x44]
jmp 0x4e7b4d
jmp 0x4e721b
jmp 0x4e721b
mov eax, dword [esp + 0x130]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x124]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004e68a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov byte [esp + 0x2b], dl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x50], ecx
mov dword [esp + 0xa4], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x33], cl
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x33]
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x48], eax
setg al
mov byte [esp + 0x2b], al
jg 0x4e72b8
jmp 0x4e72e1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jb 0x4e72d3
jmp 0x4e7b6b
add eax, edx
cmp byte [eax], 0x2a
sete al
mov byte [esp + 0x2b], al
jmp 0x4e72e3
jmp 0x4e72e3
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x4e72f1
jmp 0x4e7413
inc dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004e6480
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov byte [esp + 0x2b], cl
mov dword [esp + 0x64], edx
mov dword [esp + 0xa0], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x32], cl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x120]
test byte [ecx], al
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx ecx, byte [esp + 0x32]
mov byte [eax + 0x24], cl
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx eax, byte [eax + 0x24]
test al, al
jne 0x4e7391
jmp 0x4e7393
jmp 0x4e73bf
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xe0], eax
mov dword [esp], eax
lea eax, [0x527dec]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
call fcn.004e0f20
jmp 0x4e73bf
mov edx, dword [esp + 0x120]
test byte [edx], al
mov edx, dword [edx + 0x30]
test edx, edx
jl 0x4e73d1
jmp 0x4e7407
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [esp + 0x120]
test byte [ebx], al
mov ebx, dword [ebx + 0x30]
neg ebx
mov dword [edx + 0x30], ebx
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x26], 1
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x2a], 0
jmp 0x4e7409
jmp 0x4e7409
mov byte [esp + 0x28], 0
jmp 0x4e74db
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004e1870
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov byte [esp + 0x2b], cl
mov dword [esp + 0x60], edx
mov dword [esp + 0x98], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x31], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x120]
test byte [ecx], al
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx ecx, byte [esp + 0x31]
mov byte [eax + 0x24], cl
mov eax, dword [esp + 0x94]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x28]
mov byte [esp + 0x2b], al
test al, al
jne 0x4e74a8
jmp 0x4e74bb
mov edx, dword [esp + 0x120]
test byte [edx], al
movzx edx, byte [edx + 0x24]
mov byte [esp + 0x2b], dl
jmp 0x4e74bd
jmp 0x4e74bd
movzx edx, byte [esp + 0x2b]
test dl, dl
jne 0x4e74c8
jmp 0x4e74d7
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x7d], 0
jmp 0x4e74d9
jmp 0x4e74d9
jmp 0x4e74db
mov edx, dword [esp + 0x44]
inc edx
cmp dword [esp + 0x48], edx
setg dl
mov byte [esp + 0x2b], dl
jg 0x4e74ef
jmp 0x4e7518
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jb 0x4e750a
jmp 0x4e7b66
add edx, eax
cmp byte [edx], 0x2e
sete dl
mov byte [esp + 0x2b], dl
jmp 0x4e751a
jmp 0x4e751a
movzx edx, byte [esp + 0x2b]
test dl, dl
jne 0x4e7528
jmp 0x4e77e7
inc dword [esp + 0x44]
movzx eax, byte [esp + 0x28]
test al, al
jne 0x4e7537
jmp 0x4e7546
mov eax, dword [esp + 0x120]
test byte [eax], al
mov byte [eax + 0x7d], 0
jmp 0x4e7548
jmp 0x4e7548
mov eax, dword [esp + 0x130]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x124]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004e68a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov byte [esp + 0x2b], dl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x30]
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x48], eax
setg al
mov byte [esp + 0x2b], al
jg 0x4e75eb
jmp 0x4e7614
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jb 0x4e7606
jmp 0x4e7b61
add eax, edx
cmp byte [eax], 0x2a
sete al
mov byte [esp + 0x2b], al
jmp 0x4e7616
jmp 0x4e7616
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x4e7624
jmp 0x4e772f
inc dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004e6480
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov byte [esp + 0x2b], cl
mov dword [esp + 0x64], edx
mov dword [esp + 0x88], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2f], cl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x120]
test byte [ecx], al
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx ecx, byte [esp + 0x2f]
mov byte [eax + 0x25], cl
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
mov eax, dword [eax + 0x34]
test eax, eax
jl 0x4e76c3
jmp 0x4e76e2
mov edx, dword [esp + 0x120]
test byte [edx], al
mov dword [edx + 0x34], 0
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x25], 0
jmp 0x4e76e4
jmp 0x4e76e4
mov edx, dword [esp + 0x120]
test byte [edx], al
movzx edx, byte [edx + 0x25]
test dl, dl
jne 0x4e76f7
jmp 0x4e76f9
jmp 0x4e7725
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xdc], eax
mov dword [esp], eax
lea eax, [0x527a0d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call fcn.004e0f20
jmp 0x4e7725
mov byte [esp + 0x28], 0
jmp 0x4e77e5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004e1870
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov byte [esp + 0x2b], cl
mov dword [esp + 0x68], edx
mov dword [esp + 0x80], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2e], cl
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x120]
test byte [ecx], al
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx ecx, byte [esp + 0x2e]
mov byte [eax + 0x25], cl
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x120]
test byte [eax], al
movzx eax, byte [eax + 0x25]
test al, al
jne 0x4e77c2
jmp 0x4e77c4
jmp 0x4e77e3
mov edx, dword [esp + 0x120]
test byte [edx], al
mov dword [edx + 0x34], 0
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x25], 1
jmp 0x4e77e3
jmp 0x4e77e5
jmp 0x4e77e9
jmp 0x4e77e9
movzx edx, byte [esp + 0x28]
test dl, dl
jne 0x4e77f4
jmp 0x4e77f9
jmp 0x4e7882
mov eax, dword [esp + 0x130]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x124]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004e68a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov byte [esp + 0x2b], dl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], eax
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2d], cl
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x2d]
mov byte [esp + 0x28], al
jmp 0x4e7882
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x48], edx
jle 0x4e788e
jmp 0x4e78bd
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xd8], eax
mov dword [esp], eax
lea eax, [0x527728]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.004e0f20
jmp 0x4e6bda
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jb 0x4e78d8
jmp 0x4e7b5c
add edx, eax
movzx edx, byte [edx]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], 1
cmp edx, 0x80
jge 0x4e78f3
jmp 0x4e7957
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jbe 0x4e790e
jmp 0x4e7b57
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004830a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp 0x4e7959
jmp 0x4e7959
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
cmp dword [esp + 0x34], 0x25
je 0x4e796e
jmp 0x4e7992
jmp 0x4e7970
mov eax, dword [esp + 0x120]
test byte [eax], al
mov dword [esp + 0xd4], eax
mov dword [esp], eax
mov byte [esp + 4], 0x25
call fcn.004e1030
jmp 0x4e7b4b
mov edx, dword [esp + 0x120]
test byte [edx], al
movzx edx, byte [edx + 0x7d]
test dl, dl
jne 0x4e79a8
jmp 0x4e7b30
mov edx, dword [esp + 0x130]
mov dword [esp + 0x60], edx
cmp dword [esp + 0x4c], edx
jge 0x4e79bb
jmp 0x4e79d9
jmp 0x4e79bd
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e6ae0
jmp 0x4e7b4b
cmp dword [esp + 0x34], 0x77
je 0x4e79e5
jmp 0x4e7a82
jmp 0x4e79e7
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [edx + 0x8c]
mov ebp, dword [edx + 0x84]
mov edx, dword [edx + 0x88]
inc edx
cmp ebx, edx
jae 0x4e7a09
jmp 0x4e7a0b
jmp 0x4e7a3b
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x511820]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x4e7a3b
lea esi, [ebp + edx*4 - 4]
mov edi, dword [esp + 0x4c]
mov dword [esi], edi
mov esi, dword [esp + 0x120]
test byte [esi], al
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], ebx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x4e7a66
jmp 0x4e7a68
jmp 0x4e7a7a
call fcn.004757c0
mov dword [edi], ebp
mov edx, dword [esi + 0x84]
mov dword [edi + 4], edx
jmp 0x4e7a7a
mov dword [esi + 0x84], ebp
jmp 0x4e7a8d
cmp dword [esp + 0x34], 0x76
je 0x4e7a8b
jmp 0x4e7adb
jmp 0x4e7a8d
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [esp + 0x120]
test byte [ebx], al
movzx ebx, byte [ebx + 0x28]
mov byte [edx + 0x2c], bl
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x28], 0
mov edx, dword [esp + 0x120]
test byte [edx], al
mov ebx, dword [esp + 0x120]
test byte [ebx], al
movzx ebx, byte [ebx + 0x27]
mov byte [edx + 0x2b], bl
mov edx, dword [esp + 0x120]
test byte [edx], al
mov byte [edx + 0x27], 0
jmp 0x4e7add
jmp 0x4e7add
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
cmp eax, ecx
jb 0x4e7af5
jmp 0x4e7b52
lea eax, [edx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004e3e20
inc dword [esp + 0x4c]
jmp 0x4e7b4b
jmp 0x4e7b32
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e6a60
jmp 0x4e7b4b
jmp 0x4e7b4d
jmp 0x4e6bb2
call fcn.00475830
call fcn.00475890
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475890
call fcn.00475850
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004e6b60