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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4b6fa3
sub esp, 0xec
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x4b5169
mov edx, dword [esp + 0xfc]
test edx, edx
je 0x4b5170
test edx, 0x60
jne 0x4b5170
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004848c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b512e
mov dword [edx + 0x10], eax
jmp 0x4b5136
lea edi, [edx + 0x10]
call fcn.004614c0
mov dword [esp], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004b41c0
movzx eax, byte [esp + 8]
test al, al
jne 0x4b5162
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xfc]
jmp 0x4b5170
add esp, 0xec
ret
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
mov dword [edi + 0xc], 0
mov ebx, dword [0x737a60]
test ebx, ebx
jne 0x4b5191
mov dword [edi + 0x10], 0
jmp 0x4b51a1
lea ebx, [edi + 0x10]
xor eax, eax
mov ebp, edi
mov edi, ebx
call fcn.004614c0
mov edi, ebp
mov dword [edi + 0x1c], edx
mov ebx, dword [0x737a60]
test ebx, ebx
jne 0x4b51c4
mov ebx, dword [esp + 0xf4]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf8]
mov dword [edi + 0x18], ebp
jmp 0x4b51f1
lea ebx, [edi + 0x14]
mov eax, dword [esp + 0xf4]
mov ebp, edi
mov edi, ebx
call fcn.004614c0
lea edi, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xf8]
call fcn.004614c0
mov ebp, eax
mov edi, dword [esp + 0xf0]
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x4b5ff1
cmp edx, 0x15
ja 0x4b5791
cmp edx, 0x13
ja 0x4b521c
cmp edx, 0x11
je 0x4b57a3
jmp 0x4b5f8e
cmp edx, 0x14
je 0x4b551b
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4b5457
test esi, 0x200
jne 0x4b5241
lea eax, [0x57b380]
jmp 0x4b525b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004856b0
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 + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b52cc
mov dword [esp + 0x7c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x9c], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x516920]
mov dword [esp + 0x10], ecx
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00461dc0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5325
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
jmp 0x4b5349
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.004614c0
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
mov eax, edx
mov edx, dword [esp + 0xb4]
je 0x4b5354
mov ebp, dword [esp + 0xf8]
jmp 0x4b5375
test ebx, 0x80
je 0x4b5368
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
jmp 0x4b5371
mov ebp, dword [esp + 0xf8]
mov esi, ebp
test esi, esi
je 0x4b53e4
inc eax
cmp ecx, eax
jae 0x4b53d7
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b53c0
mov dword [edi], eax
jmp 0x4b53c5
call fcn.004614c0
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
jmp 0x4b54e9
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b5429
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b5449
mov dword [edi], edx
jmp 0x4b5450
mov eax, edx
call fcn.004614c0
add esp, 0xec
ret
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jae 0x4b54b4
mov dword [esp + 0x7c], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 4
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b54d0
mov dword [edi], ebp
jmp 0x4b54db
mov ecx, eax
mov eax, ebp
call fcn.004614c0
mov eax, ecx
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00486ef0
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 0x4b6c97
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00484470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x4b575a
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b56dd
mov eax, dword [esp + 0xfc]
test eax, 0x200
jne 0x4b556f
lea eax, [0x57b380]
mov ecx, dword [esp + 0xf4]
jmp 0x4b5595
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004856b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b5606
mov dword [esp + 0x7c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x94], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x516920]
mov dword [esp + 0x10], ecx
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00461dc0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5652
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b5669
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.004614c0
mov eax, edx
mov edx, dword [esp + 0xb4]
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b56ae
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b56d1
mov dword [edi], edx
jmp 0x4b632b
mov eax, edx
call fcn.004614c0
jmp 0x4b632b
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b572a
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, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b574e
mov dword [edi], ebp
jmp 0x4b632b
mov eax, ebp
call fcn.004614c0
jmp 0x4b632b
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 eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b50a0
jmp 0x4b632b
cmp edx, 0x17
ja 0x4b5ddc
cmp edx, 0x16
je 0x4b5c68
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x100]
cmp eax, 0x71
jg 0x4b57c2
cmp eax, 0x58
je 0x4b57d0
cmp eax, 0x71
je 0x4b57d0
jmp 0x4b59b5
cmp eax, 0x73
je 0x4b57d0
cmp eax, 0x78
jne 0x4b59b5
test esi, 0x200
jne 0x4b57eb
mov dword [esp + 0x80], eax
lea eax, [0x57b380]
mov dword [esp + 0x3c], eax
jmp 0x4b5809
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004856b0
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 0x4b5987
mov eax, dword [esp + 0x74]
cmp eax, 0x17
je 0x4b5935
mov eax, dword [esp + 0xfc]
test eax, 0x100
jne 0x4b58a0
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.00484ab0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x516920]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00449470
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4b6b38
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.00484ab0
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.00485320
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp dword [0x7118c8], ecx
jne 0x4b5914
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x4b6b1d
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00483550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4b6b1d
mov eax, dword [esp + 0xf4]
cmp dword [0x7118c8], eax
jne 0x4b5958
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4b6aac
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.00483550
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x4b6aac
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b5be8
test esi, 0x200
jne 0x4b59d1
lea ecx, [0x57b380]
jmp 0x4b59ed
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004856b0
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 + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b5a5e
mov dword [esp + 0x7c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x90], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x516920]
mov dword [esp + 0x10], ecx
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00461dc0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5aaa
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b5ac1
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.004614c0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
jne 0x4b5b4f
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
test esi, esi
jne 0x4b5b56
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b5b21
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b5b41
mov dword [edi], edx
jmp 0x4b5b48
mov eax, edx
call fcn.004614c0
add esp, 0xec
ret
mov ebp, dword [esp + 0xf8]
lea esi, [eax + 1]
cmp ecx, esi
jb 0x4b5b62
cmp ebx, 0x17
jmp 0x4b5bc8
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5baf
mov dword [edi], eax
mov edx, dword [esp + 0x74]
cmp edx, 0x17
jmp 0x4b5bbb
call fcn.004614c0
mov edx, dword [esp + 0x74]
cmp edx, 0x17
mov ebx, edx
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x7b
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov eax, 0
jmp 0x4b695d
mov ecx, dword [edi + 4]
inc ecx
mov eax, dword [edi]
mov esi, dword [edi + 8]
cmp esi, ecx
jae 0x4b5c52
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5c3b
mov dword [edi], eax
jmp 0x4b5c40
call fcn.004614c0
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov dword [edi + 4], ecx
mov byte [ecx + eax - 1], 0x5b
mov eax, dword [esp + 0xfc]
xor ecx, ecx
jmp 0x4b6792
test ecx, ecx
je 0x4b5c70
xor eax, eax
jmp 0x4b5cac
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00485170
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
test al, al
je 0x4b5f8e
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00484470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x1f
cmp edx, 0x15
ja 0x4b5ce9
cmp edx, 0x11
je 0x4b5cf7
cmp edx, 0x15
je 0x4b5cf7
jmp 0x4b5dbb
cmp edx, 0x17
je 0x4b5cf7
cmp edx, 0x19
jne 0x4b5dbb
nop
mov edx, dword [esp + 0xf0]
mov ebp, dword [edx + 4]
inc ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp edi, ebp
jae 0x4b5d81
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x74], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5d64
mov dword [edi], eax
jmp 0x4b5d69
call fcn.004614c0
mov edx, edi
mov ebx, dword [esp + 0x74]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov dword [edx + 4], ebp
mov byte [ebp + esi - 1], 0x26
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b50a0
add esp, 0xec
ret
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
jmp 0x4b5f8e
cmp edx, 0x18
je 0x4b5fcb
cmp edx, 0x19
jne 0x4b5f89
movzx eax, byte [edi + 0x2c]
test al, al
je 0x4b5f09
test esi, 0x200
jne 0x4b5e0a
lea eax, [0x57b380]
jmp 0x4b5e24
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004856b0
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 + 4]
lea ebx, [edx + eax]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b5e95
mov dword [esp + 0x98], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], edx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x516920]
mov dword [esp + 0x10], ecx
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x7c], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x78], ebx
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00461dc0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0x737a60]
test eax, eax
jne 0x4b5ee1
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4b5eed
mov eax, dword [esp + 0xb4]
call fcn.004614c0
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov eax, dword [edi + 4]
inc eax
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, eax
jae 0x4b5f7a
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b5f5c
mov dword [edi], eax
jmp 0x4b5f61
call fcn.004614c0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
xor eax, eax
jmp 0x4b63b5
cmp edx, 0x1a
jne 0x4b5fb2
mov dword [esp], edi
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.004b3860
jmp 0x4b632b
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004b2130
jmp 0x4b632b
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
call fcn.004b3020
jmp 0x4b632b
cmp edx, 0xc
ja 0x4b6259
cmp edx, 1
ja 0x4b617c
test edx, edx
jne 0x4b615c
test ecx, ecx
jne 0x4b60c2
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp edx, ecx
jae 0x4b6059
mov dword [esp + 0x7c], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb4], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x53c32a]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.00461dc0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0x737a60]
test eax, eax
jne 0x4b60b1
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4b632b
mov eax, dword [esp + 0xb4]
call fcn.004614c0
jmp 0x4b632b
mov ecx, dword [esp + 0x100]
cmp ecx, 0x76
jne 0x4b614b
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b611b
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, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b613f
mov dword [edi], ebp
jmp 0x4b632b
mov eax, ebp
call fcn.004614c0
jmp 0x4b632b
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004b23a0
jmp 0x4b632b
movzx eax, byte [ebp]
mov dword [esp], edi
mov byte [esp + 4], al
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004b28f0
jmp 0x4b632b
cmp edx, 6
ja 0x4b61f0
cmp edx, 3
ja 0x4b61a0
cmp edx, 2
jne 0x4b6195
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b61cb
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b61cb
cmp edx, 4
jne 0x4b61b0
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b61cb
cmp edx, 5
jne 0x4b61bf
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b61cb
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp], edi
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.004b29e0
jmp 0x4b632b
cmp edx, 9
ja 0x4b6216
cmp edx, 7
jne 0x4b6201
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b6234
cmp edx, 8
jne 0x4b620e
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4b6234
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4b6234
cmp edx, 0xa
jne 0x4b6222
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b6234
cmp edx, 0xb
jne 0x4b622f
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4b6234
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
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.004b29e0
jmp 0x4b632b
cmp edx, 0xe
ja 0x4b62ba
cmp edx, 0xd
jne 0x4b6292
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b2d00
jmp 0x4b632b
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b2d00
jmp 0x4b632b
cmp edx, 0xf
jne 0x4b62fa
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004b2e60
jmp 0x4b632b
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
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.004b2e60
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.004b20a0
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.004b50a0
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.004850c0
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x4b6698
test eax, eax
jle 0x4b64cf
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b6467
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b643f
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b645a
mov dword [edi], ebp
jmp 0x4b64d6
mov ecx, eax
mov eax, ebp
call fcn.004614c0
mov eax, ecx
jmp 0x4b64d6
mov ecx, dword [edi + 4]
inc ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ebx, ecx
jae 0x4b64c5
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b64ba
mov dword [edi], eax
jmp 0x4b64bf
call fcn.004614c0
mov edx, eax
mov eax, dword [esp + 0x64]
mov dword [edi + 4], ecx
mov byte [ecx + edx - 1], 0x20
jmp 0x4b64d6
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2b]
test cl, cl
jne 0x4b64ea
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b6332
mov ecx, dword [esp + 0xfc]
test ecx, 0x200
jne 0x4b6508
lea edx, [0x57b380]
mov ebx, dword [esp + 0xf4]
jmp 0x4b6536
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004856b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0xb8]
lea esi, [esp + 8]
call fcn.00461b5e
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
test eax, eax
je 0x4b6688
nop
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jae 0x4b65c7
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0xa0], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x516920]
mov dword [esp + 0x10], ecx
call fcn.004495f0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0xb4], edi
mov dword [esp + 0x78], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00461dc0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x78]
mov dword [edi + 8], ecx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6613
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b662a
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.004614c0
mov eax, edx
mov edx, dword [esp + 0xb4]
inc eax
cmp ecx, eax
jae 0x4b667e
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6675
mov dword [edi], eax
jmp 0x4b667a
call fcn.004614c0
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x3a
jmp 0x4b668f
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0x64]
jmp 0x4b6332
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4b66fb
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b66f2
mov dword [edi], eax
jmp 0x4b66f7
call fcn.004614c0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4b632b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00484710
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.004b50a0
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov eax, ebx
mov edx, dword [esp + 0x74]
mov ebx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x58], ecx
cmp edx, 0x17
jne 0x4b67a0
mov esi, dword [ebp + 4]
jmp 0x4b67d8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00484ab0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, ecx
jle 0x4b686a
test ecx, ecx
jle 0x4b6708
mov esi, dword [edi + 4]
inc esi
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, esi
jae 0x4b6859
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b683b
mov dword [edi], eax
jmp 0x4b6840
call fcn.004614c0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov eax, dword [esp + 0xfc]
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x20
mov ecx, dword [esp + 0x58]
jmp 0x4b6708
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4b68c9
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b68be
mov dword [edi], eax
jmp 0x4b68c3
call fcn.004614c0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x5d
jmp 0x4b632b
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00484710
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.004b50a0
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov ecx, edx
mov edx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x5c], eax
jne 0x4b6968
mov esi, dword [ebp + 4]
jmp 0x4b69a0
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.00484ab0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, eax
jle 0x4b6a40
test eax, eax
jle 0x4b68d6
mov esi, dword [edi + 4]
lea ebx, [esi + 2]
mov ecx, dword [edi + 8]
mov ebp, dword [edi]
cmp ecx, ebx
jae 0x4b6a07
mov dword [esp + 0x7c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + esi], 0x202c
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x737a60]
test ecx, ecx
jne 0x4b6a22
mov dword [edi], ebp
jmp 0x4b6a2d
mov ecx, eax
mov eax, ebp
call fcn.004614c0
mov eax, ecx
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
jmp 0x4b68d6
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4b6a9f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6a94
mov dword [edi], eax
jmp 0x4b6a99
call fcn.004614c0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x7d
jmp 0x4b632b
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.004b31c0
add esp, 0xec
ret
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x4b6aac
mov ebx, dword [esp + 0xb0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x4b6bff
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.00484710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x74], eax
cmp eax, 9
ja 0x4b6bc0
cmp eax, 7
jne 0x4b6b98
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4b6bf7
cmp eax, 8
jne 0x4b6bac
movzx edx, byte [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4b6bf7
cmp eax, 9
jne 0x4b6c0b
movzx edx, word [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4b6bf7
cmp eax, 0xa
jne 0x4b6bd3
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4b6bf7
cmp eax, 0xb
jne 0x4b6be6
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4b6bf7
cmp eax, 0xc
jne 0x4b6c0b
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jb 0x4b6b27
jmp 0x4b6c06
mov ecx, edx
jmp 0x4b6b1d
call fcn.00461540
lea eax, [0x51dd80]
mov dword [esp], eax
call fcn.0040ba60
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x53a37d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
lea ecx, [0x519020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00434b50
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
call fcn.004b50a0
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 0x4b6eb8
mov dword [esp + 0x68], ebx
mov dword [esp + 0xb0], ecx
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov edi, edx
mov edx, dword [ecx + 8]
test ebx, ebx
jle 0x4b6df6
mov dword [esp + 0x74], edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov ecx, dword [esp + 0xf0]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4b6d78
mov ebx, dword [ecx + 4]
lea edx, [ebx + 2]
mov esi, dword [ecx + 8]
mov ebp, dword [ecx]
cmp esi, edx
jae 0x4b6d38
mov dword [esp + 0x78], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov word [ebp + ebx], 0x202c
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6d53
mov dword [ecx], ebp
jmp 0x4b6d64
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.004614c0
mov eax, ebx
mov edi, edx
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x4b6df6
nop
mov ebx, dword [ecx + 4]
inc ebx
mov edi, dword [ecx]
mov eax, dword [ecx + 8]
cmp eax, ebx
jae 0x4b6dee
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6dcc
mov dword [edi], eax
jmp 0x4b6dd1
call fcn.004614c0
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov ebx, ecx
mov edi, eax
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], ebx
mov byte [ebx + edi - 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], edx
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.004b50a0
nop
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4b6e92
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6e89
mov dword [edi], eax
jmp 0x4b6e8e
call fcn.004614c0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x3a
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x68]
cmp ebp, ecx
jb 0x4b6c45
jmp 0x4b6f9b
mov eax, dword [esp + 0xf0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4b6f31
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4b6f24
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6f1b
mov dword [edi], eax
jmp 0x4b6f20
call fcn.004614c0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4b632b
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4b6f8e
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x516920]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x737a60]
test edx, edx
jne 0x4b6f85
mov dword [edi], eax
jmp 0x4b6f8a
call fcn.004614c0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x5d
jmp 0x4b632b
mov eax, ebp
call fcn.00461540
nop
call fcn.004600b0
jmp fcn.004b50a0