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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x50f7f7
sub esp, 0xf8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
lea edx, [0x58c58e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.0049cf90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
test dl, dl
je 0x50e48b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x50e180
xor edx, edx
jmp 0x50e1b4
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x6f66b4]
mov dword [esp + 8], ecx
call fcn.0049c8c0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x50e46e
test ebp, ebp
jne 0x50e1c4
xor edx, edx
jmp 0x50e1f8
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6f66b4]
mov dword [esp + 8], eax
call fcn.0049c8c0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x50e46e
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0049c470
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e230
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50e245
jmp 0x50f7de
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + eax]
mov dword [esp + 0x70], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x50e2a9
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004521a0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x50e307
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x50e31c
jmp 0x50f7c6
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0xc0]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x50e370
lea ecx, [0x573060]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0043f320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], ebx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [ebx + eax], 0x2f
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.0049c470
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e3b6
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50e3c4
jmp 0x50f7ae
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x50e428
mov dword [esp + 0x38], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004521a0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x50e5b4
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0x100]
test eax, eax
je 0x50e62f
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6f66b4]
mov dword [esp + 8], edx
call fcn.0049c8c0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x50e62f
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.0049c470
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e501
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50e50f
jmp 0x50f796
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x50e573
mov dword [esp + 0x40], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004521a0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x50e5c3
mov ecx, dword [eax]
jmp 0x50e5c5
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea eax, [0x572ea0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0043f260
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.00451aa4
lea eax, [0x573c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc8]
mov dword [esp + 8], edx
call fcn.0040bff0
xor eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
jmp 0x50e66a
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
lea eax, [esp + 0xc8]
mov dword [esp], eax
call fcn.0040c250
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0xc8]
test ebx, ebx
je 0x50e707
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x50e6d0
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x5c], ebx
lea ebx, [0x572ea0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.0043f320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
lea ecx, [edx + eax*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x7e73a0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x50e6f9
mov dword [ebx], ebp
jmp 0x50e64c
mov eax, ebp
mov edi, ebx
call fcn.004518b0
jmp 0x50e64c
mov dword [esp + 0xac], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004081b0
mov eax, dword [esp + 0xc]
lea ecx, [0x71f410]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046de80
xor eax, eax
jmp 0x50e73f
mov ecx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x50ede3
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xac]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
lea ebp, [0x573c00]
mov dword [esp], ebp
mov esi, dword [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040dab0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e7af
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50e7c4
jmp 0x50f77e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x50e82f
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x3b
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e853
cmp edx, ebx
je 0x50e85a
jmp 0x50f766
mov dword [esp + 0xb8], ebx
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x50e8bd
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x20
mov edx, dword [esp + 0x58]
test edx, edx
je 0x50edc6
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x6f66b4]
mov dword [esp + 8], ecx
call fcn.0049c8c0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x50edc6
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.0049c470
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50e93b
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50e950
jmp 0x50f74e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [eax + edx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x50e9b4
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
xor edx, edx
jmp 0x50ee08
cmp edx, eax
jge 0x50eab4
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x50ea2a
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x50ea3f
jmp 0x50f736
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov edx, dword [esp + 0xc4]
cmp edx, esi
jae 0x50eaa2
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebp, [esp + 0xb8]
lea edx, [ebx + 1]
mov dword [esp + 0xc0], edx
mov byte [edi + ebx], 0x2a
mov edx, dword [esp + 0x6c]
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x50ead1
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x50eae6
jmp 0x50f71e
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x50eb46
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [edi + ebx], 0x3d
cmp edx, eax
jge 0x50ec1b
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50eb78
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50eb8d
jmp 0x50f706
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 7]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x50ebee
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], edx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x6c]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], esi
mov dword [esp + 0xbc], edi
xor edx, edx
xor ebp, ebp
jmp 0x50f214
test eax, eax
jne 0x50ec23
xor edx, edx
jmp 0x50ec4c
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6f66b4]
mov dword [esp + 8], edx
call fcn.0049c8c0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x50ecff
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50ec70
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50ec85
jmp 0x50f1fb
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x50ece8
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x22
xor edx, edx
xor ebp, ebp
jmp 0x50ee74
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x50ed1c
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x50ed2a
jmp 0x50ee5b
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [eax + edx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x50ed80
mov dword [esp + 0x68], edx
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x50e738
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
add esp, 0xf8
ret
mov edx, ebp
mov dword [esp + 0x6c], edx
cmp edx, eax
jge 0x50ea07
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x50ee25
lea ebp, [edx + 1]
jmp 0x50ee49
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044c8b0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x50ee06
cmp ebx, 9
je 0x50ee06
jmp 0x50ea05
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
inc edx
cmp edx, eax
jge 0x50f020
jae 0x50f1f2
movzx esi, byte [edx + ecx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x50ee94
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x50ee73
cmp ebp, edx
ja 0x50f1e9
mov esi, edx
sub edx, ebp
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebp + ecx]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x50eec2
cmp ebp, ebx
je 0x50eec9
jmp 0x50f1d1
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x6c], esi
mov ebp, dword [esp + 0xc0]
lea ecx, [edi + ebp]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp eax, ecx
jae 0x50ef31
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x80], edx
lea edx, [0x573060]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0xb4], esi
lea ecx, [esi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.004521a0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x50ef8f
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x50ef9d
jmp 0x50f1b9
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x50eff8
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebx, [esp + 0xb8]
mov ebp, edx
jmp 0x50ee73
cmp ebp, eax
ja 0x50f1b0
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + ecx]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x50f04c
cmp ecx, ebx
je 0x50f053
jmp 0x50f198
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebp, [edx + ecx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x50f0b1
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], eax
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x50f10b
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x50f119
jmp 0x50f180
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
cmp ebx, ecx
jae 0x50f16d
lea ebp, [0x573060]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.0043f320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [edx + eax], 0x22
jmp 0x50e738
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
mov ecx, eax
mov eax, ebp
call fcn.00451990
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
mov eax, ebp
mov ecx, edx
call fcn.00451990
mov ecx, eax
mov eax, edx
call fcn.00451930
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
inc edx
cmp edx, eax
jge 0x50f597
jae 0x50f6fd
mov dword [esp + 0x4c], edx
movzx esi, byte [ecx + edx]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x50f241
mov edi, 1
jmp 0x50f2b5
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x50f24f
mov edi, 1
jmp 0x50f2b5
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x50f25d
mov edi, 1
jmp 0x50f2b5
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x50f26b
mov edi, 1
jmp 0x50f2b5
mov dword [esp + 0x44], ebp
lea eax, [0x58e45c]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.0049b800
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x25]
mov edi, eax
mov eax, dword [esp + 0x28]
xchg edi, eax
test al, al
xchg edi, eax
je 0x50f213
cmp ebp, edx
ja 0x50f6f4
mov edi, edx
sub edx, ebp
mov dword [esp + 0x30], edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ecx + ebp]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x50f2ee
cmp ebp, ebx
je 0x50f2f5
jmp 0x50f6dc
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
lea eax, [ebp + ecx]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp edi, eax
jae 0x50f35a
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], ebp
lea ecx, [0x573060]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x68], edi
mov dword [esp + 0xb4], esi
lea eax, [esi + ebp]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x50f3b9
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x50f3c7
jmp 0x50f6c4
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x50f422
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x25
movzx ebx, byte [esp + 0x25]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x58e800]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x50f45c
cmp edi, edx
je 0x50f463
jmp 0x50f6ac
mov dword [esp + 0xb8], edx
mov edi, dword [esp + 0xc0]
lea edx, [edi + 1]
mov esi, dword [esp + 0xbc]
mov eax, ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x50f4c7
mov byte [esp + 0x27], bl
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
movzx eax, byte [esp + 0x25]
movzx ebx, byte [esp + 0x27]
lea edx, [edi + 1]
mov dword [esp + 0xc0], edx
mov byte [esi + edi], bl
and eax, 0xf
lea edx, [0x58e800]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x50f4fd
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x50f512
jmp 0x50f694
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x50f56f
mov byte [esp + 0x26], dl
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.0043f320
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
movzx edx, byte [esp + 0x26]
lea esi, [ebx + 1]
mov dword [esp + 0xc0], esi
mov byte [edi + ebx], dl
mov edx, dword [esp + 0x4c]
lea ebp, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
jmp 0x50f213
cmp ebp, eax
ja 0x50f68b
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ecx + ebp]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x50f5c2
cmp ecx, ebx
je 0x50f5c9
jmp 0x50f673
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebx, [edx + ecx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x50f62d
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x84], eax
lea eax, [0x573060]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043f320
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x50e738
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
mov ecx, eax
mov eax, ebp
call fcn.00451990
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
mov eax, ebp
mov ecx, edx
call fcn.00451990
mov ecx, eax
mov eax, edx
call fcn.00451930
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
lea eax, [0x572ea0]
mov dword [esp], eax
lea eax, [0x71ec10]
mov dword [esp + 4], eax
call fcn.0042e000
nop
call fcn.00450480
jmp fcn.0050e0d0