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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4c0fae
sub esp, 0xec
mov eax, dword [esp + 0x104]
test eax, eax
jle 0x4bf13a
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x4bf141
test ecx, 0x60
jne 0x4bf141
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0xc], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bf104
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [edx + 0x10]
mov dword [edi + 4], eax
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004be200
movzx eax, byte [esp + 8]
test al, al
jne 0x4bf133
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xfc]
jmp 0x4bf141
add esp, 0xec
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0xc], 0
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x4bf163
mov ebx, dword [edx + 0x10]
call fcn.004672a0
mov dword [edi], ebx
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
jne 0x4bf187
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
jmp 0x4bf1ab
call fcn.004672d0
mov ebx, dword [esp + 0xf4]
mov dword [edi], ebx
mov ebp, dword [edx + 0x14]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0xf8]
mov dword [edi + 8], ebp
mov esi, dword [edx + 0x18]
mov dword [edi + 0xc], esi
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], ebp
mov esi, ecx
and ecx, 0x1f
nop
cmp ecx, 0x10
jbe 0x4bffde
cmp ecx, 0x15
ja 0x4bf758
cmp ecx, 0x13
ja 0x4bf1dc
cmp ecx, 0x11
je 0x4bf76a
jmp 0x4bff7b
cmp ecx, 0x14
je 0x4bf4e3
movzx ecx, byte [edx + 0x2c]
test cl, cl
je 0x4bf428
test esi, 0x200
jne 0x4bf201
lea ecx, [0x66ad64]
jmp 0x4bf21d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4bf28e
mov dword [esp + 0x50], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0x7c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5eeda0]
mov dword [esp + 0x10], ecx
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb4], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov ebx, dword [0x7f7690]
test ebx, ebx
jne 0x4bf2ec
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xfc]
jmp 0x4bf30c
call fcn.004672b0
mov ebx, dword [esp + 0xb4]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0xfc]
test ebp, 0x200
mov dword [ecx], ebx
je 0x4bf319
mov esi, dword [esp + 0xf8]
jmp 0x4bf339
test ebp, 0x80
je 0x4bf32c
mov esi, dword [esp + 0xf8]
mov edi, dword [esi]
jmp 0x4bf335
mov esi, dword [esp + 0xf8]
mov edi, esi
test edi, edi
je 0x4bf3b4
inc eax
cmp edx, eax
jae 0x4bf3a7
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bf38c
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0xf8]
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x7b
jmp 0x4bf4b1
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4bf3f7
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bf41f
call fcn.004672b0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
add esp, 0xec
ret
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
lea eax, [edi + 4]
nop
mov esi, dword [edx]
cmp ecx, eax
jae 0x4bf483
mov dword [esp + 0x7c], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0x7c]
mov dword [esi + edi], 0x5b70616d
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bf4a6
call fcn.004672b0
mov dword [edi], esi
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], esi
mov esi, ebp
mov ebp, dword [esp + 0xfc]
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0049bae0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
xor ebx, ebx
jmp 0x4c0c9f
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00497b80
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4bf719
mov eax, dword [esp + 0xf0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4bf69c
mov ecx, dword [esp + 0xfc]
test ecx, 0x200
jne 0x4bf530
lea ecx, [0x66ad64]
mov edx, dword [esp + 0xf4]
jmp 0x4bf55a
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x80]
mov dword [esp], edx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4bf5cb
mov dword [esp + 0x94], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x7c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5eeda0]
mov dword [esp + 0x10], ecx
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb4], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov ebx, dword [0x7f7690]
test ebx, ebx
jne 0x4bf615
mov ebx, dword [esp + 0xb4]
jmp 0x4bf628
call fcn.004672b0
mov ebx, dword [esp + 0xb4]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4bf66d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bf695
call fcn.004672b0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
jmp 0x4c0331
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
nop
mov ebp, dword [eax]
cmp ebx, edx
jae 0x4bf6e9
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x7c]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x4bf712
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], ebp
jmp 0x4c0331
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004bf070
jmp 0x4c0331
cmp ecx, 0x17
ja 0x4bfdb9
cmp ecx, 0x16
je 0x4bfc3e
mov dword [esp + 0x74], ecx
mov edi, dword [esp + 0x100]
cmp edi, 0x71
jg 0x4bf789
cmp edi, 0x58
je 0x4bf797
cmp edi, 0x71
je 0x4bf797
jmp 0x4bf975
cmp edi, 0x73
je 0x4bf797
cmp edi, 0x78
jne 0x4bf975
test esi, 0x200
jne 0x4bf7b2
mov dword [esp + 0x80], eax
lea eax, [0x66ad64]
mov dword [esp + 0x3c], eax
jmp 0x4bf7d0
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4bf94e
mov eax, dword [esp + 0x74]
cmp eax, 0x17
je 0x4bf8fc
mov eax, dword [esp + 0xfc]
test eax, 0x100
jne 0x4bf867
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004985a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x5eeda0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044d6b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4c0b7c
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004985a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00499990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp dword [0x7cc508], eax
jne 0x4bf8d7
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x4c0b61
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00496cc0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x4c0b61
mov eax, dword [esp + 0xf4]
cmp dword [0x7cc508], eax
jne 0x4bf91f
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4c0af0
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.00496cc0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x4c0af0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x100]
movzx eax, byte [edx + 0x2c]
test al, al
je 0x4bfbae
test esi, 0x200
jne 0x4bf991
lea eax, [0x66ad64]
jmp 0x4bf9ab
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4bfa1c
mov dword [esp + 0x90], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5eeda0]
mov dword [esp + 0x10], ecx
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb4], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov ebx, dword [0x7f7690]
test ebx, ebx
jne 0x4bfa66
mov ebx, dword [esp + 0xb4]
jmp 0x4bfa79
call fcn.004672b0
mov ebx, dword [esp + 0xb4]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
mov ebp, dword [esp + 0x74]
cmp ebp, 0x17
jne 0x4bfb09
mov esi, dword [esp + 0xf8]
mov edi, dword [esi]
test edi, edi
jne 0x4bfb10
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4bfad8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bfb00
call fcn.004672b0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
add esp, 0xec
ret
mov esi, dword [esp + 0xf8]
inc eax
cmp edx, eax
jb 0x4bfb1a
cmp ebp, 0x17
jmp 0x4bfb8e
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
jne 0x4bfb65
mov eax, dword [esp + 0x74]
cmp eax, 0x17
jmp 0x4bfb78
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
cmp eax, 0x17
mov dword [ebx], ecx
mov ebp, eax
mov esi, dword [esp + 0xf8]
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x7b
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov ebx, 0
jmp 0x4c099e
mov eax, dword [edx + 8]
mov edi, dword [edx + 4]
inc edi
mov esi, dword [edx]
cmp eax, edi
jae 0x4bfc28
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bfc09
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov edi, edx
mov esi, ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov dword [edx + 4], edi
mov byte [edi + esi - 1], 0x5b
mov eax, dword [esp + 0xfc]
xor esi, esi
jmp 0x4c07b7
test eax, eax
je 0x4bfc46
xor ecx, ecx
jmp 0x4bfc84
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00499160
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov ecx, eax
mov eax, dword [esp + 0x104]
test cl, cl
je 0x4bff7b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00497b80
mov eax, dword [esp + 0x14]
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
cmp eax, 0x15
ja 0x4bfcc1
cmp eax, 0x11
je 0x4bfccf
cmp eax, 0x15
je 0x4bfccf
jmp 0x4bfd98
cmp eax, 0x17
je 0x4bfccf
cmp eax, 0x19
jne 0x4bfd98
mov eax, dword [esp + 0xf0]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
inc esi
nop
mov edi, dword [eax]
cmp ebp, esi
jae 0x4bfd5e
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0xac], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bfd44
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, dword [esp + 0xb0]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
mov dword [eax + 4], esi
mov byte [esi + edi - 1], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004bf070
add esp, 0xec
ret
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
jmp 0x4bff7b
cmp ecx, 0x18
je 0x4bffb8
cmp ecx, 0x19
jne 0x4bff76
movzx ecx, byte [edx + 0x2c]
test cl, cl
je 0x4bfeea
test esi, 0x200
jne 0x4bfde7
lea ecx, [0x66ad64]
jmp 0x4bfe03
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4bfe74
mov dword [esp + 0x98], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5eeda0]
mov dword [esp + 0x10], ecx
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb4], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
jne 0x4bfebe
mov eax, dword [esp + 0xb4]
jmp 0x4bfed1
call fcn.004672b0
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov edx, ecx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
inc edi
mov eax, dword [edx]
cmp ecx, edi
jae 0x4bff67
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4bff45
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, edx
mov eax, ecx
mov edx, dword [esp + 0xf0]
mov dword [edx + 4], edi
mov byte [edi + eax - 1], 0x7b
xor eax, eax
jmp 0x4c03bb
cmp ecx, 0x1a
jne 0x4bff9f
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004bd8b0
jmp 0x4c0331
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004bc180
jmp 0x4c0331
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
call fcn.004bd090
jmp 0x4c0331
cmp ecx, 0xc
ja 0x4c025f
cmp ecx, 1
ja 0x4c016c
test ecx, ecx
jne 0x4c014c
test eax, eax
jne 0x4c00b3
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea ebx, [ecx + 0x17]
nop
mov ebp, dword [edx]
cmp eax, ebx
jae 0x4c0046
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x17
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], ebp
add ecx, ebp
mov dword [esp], ecx
lea ecx, [0x62364c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x17
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
jne 0x4c0099
mov eax, dword [esp + 0xb4]
jmp 0x4c00ac
call fcn.004672b0
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
jmp 0x4c0331
mov eax, dword [esp + 0x100]
cmp eax, 0x76
jne 0x4c013b
mov eax, dword [edx + 4]
lea ecx, [eax + 5]
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x4c010b
mov dword [esp + 0x7c], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0xf0]
mov dword [ebp + eax], 0x6c696e3c
mov byte [ebp + eax + 4], 0x3e
mov dword [edx + 4], ecx
mov dword [edx + 8], ebx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0134
call fcn.004672b0
mov dword [edi], ebp
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ebp
jmp 0x4c0331
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004bc400
jmp 0x4c0331
movzx eax, byte [ebp]
mov dword [esp], edx
mov byte [esp + 4], al
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004bc970
jmp 0x4c0331
cmp ecx, 6
ja 0x4c01f6
cmp ecx, 3
ja 0x4c019a
cmp ecx, 2
jne 0x4c0189
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c01d1
movsx eax, byte [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4c01d1
cmp ecx, 4
jne 0x4c01b0
movsx eax, word [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4c01d1
cmp ecx, 5
jne 0x4c01c5
mov eax, dword [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4c01d1
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004bca50
jmp 0x4c0331
cmp ecx, 9
ja 0x4c021c
cmp ecx, 7
jne 0x4c0207
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c023a
cmp ecx, 8
jne 0x4c0214
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4c023a
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4c023a
cmp ecx, 0xa
jne 0x4c0228
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c023a
cmp ecx, 0xb
jne 0x4c0235
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4c023a
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004bca50
jmp 0x4c0331
cmp ecx, 0xe
ja 0x4c02c0
cmp ecx, 0xd
jne 0x4c0298
movss xmm0, dword [ebp]
cvtss2sd xmm0, xmm0
mov dword [esp], edx
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004bcd70
jmp 0x4c0331
movsd xmm0, qword [ebp]
mov dword [esp], edx
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004bcd70
jmp 0x4c0331
cmp ecx, 0xf
jne 0x4c0300
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
mov dword [esp], edx
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004bced0
jmp 0x4c0331
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edx
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004bced0
add esp, 0xec
ret
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004bc0f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bf070
mov eax, dword [esp + 0x64]
inc eax
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x64], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004990b0
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x4c06b1
test eax, eax
jle 0x4c04e0
mov ecx, dword [esp + 0xf0]
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4c046a
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 2]
mov esi, dword [ecx]
cmp edx, ebp
jae 0x4c0444
mov dword [esp + 0x7c], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x7c]
mov word [esi + ebx], 0x202c
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov edx, dword [0x7f7690]
test edx, edx
je 0x4c0466
call fcn.004672b0
mov dword [edi], esi
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], esi
jmp 0x4c04e7
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x4c04d6
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c04c5
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0x64]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], ebx
mov byte [ebx + ebp - 1], 0x20
jmp 0x4c04e7
mov ecx, dword [esp + 0xf0]
movzx edx, byte [ecx + 0x2b]
test dl, dl
jne 0x4c04fb
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4c0338
mov edx, dword [esp + 0xfc]
test edx, 0x200
jne 0x4c0519
lea ebx, [0x66ad64]
mov ebp, dword [esp + 0xf4]
jmp 0x4c0547
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx + 0x2c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0xb8]
lea esi, [esp + 8]
call fcn.004679de
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
test eax, eax
je 0x4c06a1
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
lea esi, [eax + ebp]
nop
mov edi, dword [edx]
cmp ebx, esi
jae 0x4c05d8
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0xa0], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x5eeda0]
mov dword [esp + 0x10], ecx
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
mov dword [esp + 0xb4], edi
lea edx, [edi + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00467c40
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov ebx, dword [0x7f7690]
test ebx, ebx
jne 0x4c0622
mov ebx, dword [esp + 0xb4]
jmp 0x4c0635
call fcn.004672b0
mov ebx, dword [esp + 0xb4]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
inc eax
cmp edx, eax
jae 0x4c0697
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c068a
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x3a
jmp 0x4c06a8
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x64]
jmp 0x4c0338
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4c0719
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0713
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4c0331
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.00498200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bf070
mov eax, dword [esp + 0x58]
lea esi, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xf4]
mov eax, edx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, ebp
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x58], esi
cmp ecx, 0x17
jne 0x4c07c5
mov edi, dword [ebp + 4]
jmp 0x4c07fd
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004985a0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x58]
cmp edi, esi
jle 0x4c089b
test esi, esi
jle 0x4c0726
mov edi, dword [edx + 8]
mov ecx, dword [edx + 4]
inc ecx
mov esi, dword [edx]
cmp edi, ecx
jae 0x4c088a
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0868
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0xf0]
mov dword [edx + 4], ecx
mov byte [ecx + esi - 1], 0x20
mov esi, dword [esp + 0x58]
jmp 0x4c0726
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
inc ecx
nop
mov ebx, dword [edx]
cmp eax, ecx
jae 0x4c0901
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c08f7
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov dword [edx + 4], ecx
mov byte [ecx + ebx - 1], 0x5d
jmp 0x4c0331
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.00498200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004bf070
mov eax, dword [esp + 0x5c]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x74]
cmp ebp, 0x17
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov eax, ecx
mov ecx, dword [esp + 0xf0]
mov edx, esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x5c], ebx
jne 0x4c09a9
mov edi, dword [esi + 4]
jmp 0x4c09e1
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004985a0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xf8]
cmp edi, ebx
jle 0x4c0a7f
test ebx, ebx
jle 0x4c090e
mov edi, dword [ecx + 8]
mov ebp, dword [ecx + 4]
lea ebx, [ebp + 2]
mov eax, dword [ecx]
cmp edi, ebx
jae 0x4c0a4b
mov dword [esp + 0x7c], ebp
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 2
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0xf8]
mov word [eax + ebp], 0x202c
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x4c0a6d
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [ecx]
mov dword [edi + 4], ebx
mov dword [ecx], eax
mov eax, dword [esp + 0xfc]
mov ebx, dword [esp + 0x5c]
jmp 0x4c090e
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
inc edx
nop
mov ebx, dword [ecx]
cmp eax, edx
jae 0x4c0ae3
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0adb
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ecx
mov ecx, ebx
mov ebx, eax
mov dword [ecx + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4c0331
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0xa4], ecx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004bd230
add esp, 0xec
ret
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4c0af0
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xb0]
mov byte [ebx + edx], al
lea ecx, [edx + 1]
mov eax, ebx
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x4c0c0a
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00498200
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x14]
cmp eax, 9
ja 0x4c0be6
cmp eax, 7
jne 0x4c0bd2
mov eax, dword [ecx]
jmp 0x4c0b69
cmp eax, 8
jne 0x4c0bdc
movzx eax, byte [ecx]
jmp 0x4c0b69
cmp eax, 9
jne 0x4c0c11
movzx eax, word [ecx]
jmp 0x4c0b69
cmp eax, 0xa
jne 0x4c0bf2
mov eax, dword [ecx]
jmp 0x4c0b69
cmp eax, 0xb
jne 0x4c0bfe
mov eax, dword [ecx]
jmp 0x4c0b69
cmp eax, 0xc
jne 0x4c0c11
mov eax, dword [ecx]
jmp 0x4c0b69
mov ecx, edx
jmp 0x4c0b61
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x620706]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov ecx, dword [edx + 0xc]
lea ebp, [ebx + ebx*2]
mov esi, dword [ecx + ebp*4]
mov edi, dword [ecx + ebp*4 + 4]
mov ecx, dword [ecx + ebp*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x14], ebp
call fcn.004bf070
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 0xc]
mov eax, dword [esp + 0x68]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
cmp ebx, edx
jge 0x4c0eb9
mov dword [esp + 0x68], ebx
mov dword [esp + 0xb0], ecx
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov edi, dword [ecx + 8]
test ebx, ebx
jle 0x4c0df5
mov dword [esp + 0x74], edi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov edx, dword [esp + 0xf0]
movzx ecx, byte [edx + 0x2c]
test cl, cl
je 0x4c0d72
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 4]
lea eax, [ebx + 2]
mov edi, dword [edx]
cmp ecx, eax
jae 0x4c0d41
mov dword [esp + 0x78], ebx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov word [edi + ebx], 0x202c
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0d67
mov eax, edi
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edx], edi
mov edi, dword [esp + 0x74]
jmp 0x4c0df5
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 4]
inc ebx
nop
mov eax, dword [edx]
cmp ecx, ebx
jae 0x4c0ded
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0dce
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x74]
mov ebx, edx
mov eax, ecx
mov edx, dword [esp + 0xf0]
mov dword [edx + 4], ebx
mov byte [ebx + eax - 1], 0x20
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x104]
lea ebx, [edx + 1]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], ebx
call fcn.004bf070
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4c0e96
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0e90
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x3a
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx + 0x10]
mov ebx, dword [esp + 0x68]
cmp ebx, ecx
jb 0x4c0c4b
jmp 0x4c0fa6
mov eax, dword [esp + 0xf0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4c0f37
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4c0f2a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0f24
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4c0331
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4c0f99
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eeda0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x4c0f93
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x5d
jmp 0x4c0331
mov eax, ebx
call fcn.00467310
nop
call fcn.00465ea0
jmp fcn.004bf070