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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x16c]
cmp eax, dword [ecx + 8]
jbe 0x594c7e
sub esp, 0x1ec
mov eax, 0
lea edi, [esp + 0x168]
call fcn.0044cd19
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax]
mov dword [esp + 0x12c], ecx
mov dword [esp], ecx
call fcn.005905e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x594be4
lea eax, [0x799a60]
cmp eax, ebx
jne 0x594bd8
mov ecx, edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x88], ebx
jne 0x5933f2
mov ebp, dword [edx + 0x10]
test ebp, ebp
jne 0x593452
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x799a60]
mov dword [esp], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xc], eax
call fcn.0058c8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp], edx
call fcn.00599c10
mov eax, dword [esp + 0x1f0]
lea ecx, [eax + 0x10]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.005a3ce0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x59465b
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x48]
test ecx, ecx
jbe 0x594c62
mov ecx, dword [edx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov ebp, dword [esp + 0x128]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
test esi, esi
jbe 0x594c62
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004021b0
movzx eax, byte [esp + 0x18]
test al, al
je 0x5945f4
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.005905e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x5945df
lea ecx, [0x799b60]
cmp ecx, eax
jne 0x5945d3
mov ecx, edx
jne 0x5945ca
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x38]
test cl, cl
je 0x594563
mov dword [esp + 0x118], edx
mov dword [esp], edx
call fcn.0059a370
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0x118]
movzx ecx, byte [eax + 0xc]
cmp cl, 1
jne 0x594557
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0x12c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], ebx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x594548
mov dword [ebp + 0x30], edx
mov dword [esp], ebp
call fcn.005905e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x594533
mov dword [esp + 0x88], ebx
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
mov ebp, dword [esp + 0x12c]
movzx esi, word [ebp + 0x20]
mov word [esp], si
mov esi, dword [ecx]
mov edx, ecx
call esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea ebx, [0x79a060]
mov ebp, dword [esp + 0x88]
cmp ebx, ebp
jne 0x594529
mov edx, dword [esp + 0xe8]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x8c], ecx
jne 0x59451b
mov dword [esp + 0xf4], edx
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x59441f
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.005a3ce0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [esp + 0x1f0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 4]
mov ebp, dword [edx + 0x48]
mov eax, dword [edx + 0x4c]
test eax, eax
jbe 0x594c3f
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5943da
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.005905e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x5943c5
lea eax, [0x799ae0]
cmp eax, ebx
jne 0x5943b9
mov eax, edx
mov dword [esp + 0x124], edx
je 0x5942da
xor ecx, ecx
xor ebp, ebp
lea esi, [0x799f60]
cmp esi, ebx
jne 0x5942ce
mov edi, eax
jne 0x594259
mov dword [esp + 0x11c], ebp
mov byte [esp + 0x5f], cl
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00438c00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x594c38
mov byte [eax], 0xe
mov ebx, dword [esp + 0x13c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.005a3ce0
movzx eax, byte [esp + 0x5f]
test al, al
jne 0x594190
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x1f0]
mov ebp, dword [ebx + 8]
mov esi, dword [ecx + 0x48]
mov edi, dword [ecx + 0x4c]
test edi, edi
jbe 0x594c31
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
test ecx, ecx
jne 0x59414b
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], ebp
test esi, esi
je 0x593871
mov dword [esp + 0xec], esi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test edi, edi
je 0x59404e
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005a3ce0
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
test edx, edx
je 0x593f52
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x593f3d
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x593887
mov edx, dword [ecx + 4]
test edx, edx
jg 0x593aad
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x12c]
movzx ebp, word [ebx + 0x20]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0xc8], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov word [esp], bp
mov dword [esp + 4], esi
mov eax, dword [esp + 0xe4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
call fcn.005a3180
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1f0]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], eax
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x593a9a
mov dword [ebx + 0x44], edx
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x12c]
mov edi, dword [esi + 0x24]
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.0058c370
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x5939cc
mov ecx, dword [esp + 0x13c]
test byte [ecx], al
mov ecx, dword [esp + 0x1f0]
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x38], 0
mov edx, dword [0xbc7270]
test edx, edx
jne 0x5939c0
mov dword [ecx + 0x30], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
add esp, 0x1ec
ret
lea edi, [ecx + 0x30]
xor eax, eax
call fcn.0044cc20
jmp 0x5939a3
mov dword [esp + 0x108], eax
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x7ea195]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bf20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
lea edx, [0x787c00]
mov dword [esp], edx
call fcn.00409dc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x593a8c
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xe0]
call fcn.0044cc20
jmp 0x593a71
lea edi, [ebx + 0x44]
mov ebp, eax
mov eax, edx
call fcn.0044cc20
mov eax, ebp
jmp 0x593932
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0044cd19
lea edi, [esp + 0x168]
call fcn.0044cd19
mov ecx, dword [esp + 0x12c]
movzx edx, word [ecx + 0x20]
cmp dx, 0x303
setae dl
mov byte [esp + 0x174], dl
mov edx, dword [esp + 0x11c]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x7899a0]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00407ce0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
test bl, bl
je 0x593eaa
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x90], edx
mov eax, dword [edx + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0x124]
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x80]
mov dword [esp + 0xc8], eax
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0xc4], eax
mov ecx, dword [ecx + 0x78]
mov eax, dword [esp + 0x12c]
movzx eax, word [eax + 0x20]
mov word [esp + 0x20], ax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
call fcn.00589750
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx edx, word [esp + 0x24]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x28]
test ecx, ecx
jne 0x593e65
movzx eax, byte [esp + 0x174]
test al, al
je 0x593bdf
mov word [esp + 0x176], dx
mov byte [esp + 0x5e], bl
mov dword [esp + 0x9c], ebp
lea edi, [esp + 0x1b8]
mov esi, dword [esp + 0x13c]
call fcn.0044d1ae
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov edi, esp
lea esi, [esp + 0x1b8]
call fcn.0044d1ae
mov byte [esp + 0x34], bl
mov dword [esp + 0x38], ebp
call fcn.005a46d0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
test ebx, ebx
jne 0x593e20
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0xb8], ebp
lea eax, [0x8f9210]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.00407820
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x5e]
cmp dl, 0x12
je 0x593df3
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x593de2
mov edx, dword [esp + 0x90]
mov edx, dword [edx + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], eax
mov dword [esp + 0x178], ebp
test ecx, ecx
jne 0x593d9d
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.0059b800
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.005a3ce0
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.0059b800
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x593887
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov ebp, dword [0xbb4b64]
mov ebx, dword [0xbb4b60]
jmp 0x593cab
lea eax, [0x78fce0]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
lea ecx, [0x8f8670]
jmp 0x593c94
mov dword [esp + 0x100], eax
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
lea eax, [0x7f478e]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bcb10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc8], ecx
lea edx, [0x7720a0]
mov dword [esp], edx
lea edx, [ecx + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x594c0e
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x594c07
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x594c00
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x594bf9
mov dword [esp + 0xd8], edx
mov byte [edx + 3], bl
lea ebx, [eax - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, edx
lea ebp, [ecx - 4]
mov edi, dword [esp + 0xec]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
cmp ebp, esi
jle 0x59404a
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], ecx
cmp edx, ebx
je 0x594007
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044d420
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x70]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x59403c
mov eax, dword [esp + 0xd8]
mov dword [edi], eax
mov ecx, edx
mov ebx, dword [esp + 0x68]
mov edx, eax
jmp 0x593841
mov eax, dword [esp + 0xd8]
call fcn.0044cc20
jmp 0x59402f
mov esi, ebp
jmp 0x593feb
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc8], eax
lea ecx, [0x7720a0]
mov dword [esp], ecx
lea edx, [eax + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x594c2a
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x594c23
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x594c1c
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x594c15
mov dword [esp + 0xd4], edx
mov byte [edx + 3], bl
lea ebx, [eax - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, edx
lea ebp, [ecx - 4]
mov edi, dword [esp + 0xec]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
cmp ebp, esi
jle 0x594147
mov dword [esp + 0x74], eax
mov dword [esp + 0x64], ecx
cmp edx, ebx
je 0x594103
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044d420
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x594139
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
mov eax, edx
mov edi, dword [esp + 0xd4]
jmp 0x59380f
mov eax, dword [esp + 0xd4]
call fcn.0044cc20
jmp 0x59412b
mov esi, ebp
jmp 0x5940e7
mov dword [esp + 0x110], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea eax, [0x78fe60]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x11c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x594246
mov dword [eax + 0xc], ebp
mov dword [esp + 0x128], eax
mov dword [esp], eax
call fcn.00599c10
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.00599c10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x593779
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [eax + 0xc]
mov edx, eax
mov eax, ebp
call fcn.0044cc20
mov eax, edx
jmp 0x5941c8
mov dword [esp + 0xf0], eax
mov dword [esp + 0x140], edi
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x799f60]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xc], eax
call fcn.0058c8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov edi, eax
mov eax, 0
jmp 0x59370b
mov dword [esp], edx
call fcn.0059ae60
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0x1f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
call fcn.00596240
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x594374
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.005905e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x59435f
mov eax, edx
mov ecx, 1
mov ebp, dword [esp + 0x11c]
mov edx, dword [esp + 0x124]
jmp 0x5936fb
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x110], ecx
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, edx
mov edx, 0
jmp 0x5936ea
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x110], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xc8], eax
lea ecx, [0x7720a0]
mov dword [esp], ecx
lea ebx, [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438c00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x594c5b
mov byte [eax], 0xc
cmp edx, 1
jbe 0x594c54
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp edx, 2
jbe 0x594c4d
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp edx, 3
jbe 0x594c46
mov dword [esp + 0x6c], ecx
mov byte [eax + 3], bl
lea ebx, [ecx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [edx - 4]
mov edi, dword [esp + 0xf4]
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
cmp ebp, ecx
jle 0x594517
mov dword [esp + 0xd0], eax
mov dword [esp + 0x60], edx
cmp esi, ebx
je 0x5944d6
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.0044d420
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x594509
mov eax, dword [esp + 0xd0]
mov dword [edi], eax
mov ebx, edx
mov ebp, ecx
mov esi, eax
jmp 0x59362f
mov eax, dword [esp + 0xd0]
call fcn.0044cc20
jmp 0x5944fe
mov ecx, ebp
jmp 0x5944b7
mov edx, dword [esp + 0xe8]
mov ebx, ebp
jmp 0x5936da
mov edx, 0
jmp 0x593604
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [ebp + 0x30]
mov eax, edx
call fcn.0044cc20
jmp 0x593590
mov ebp, dword [esp + 0x12c]
jmp 0x593590
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x787c00]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x32
mov eax, dword [0xbc7270]
test eax, eax
jne 0x5945bd
lea eax, [0x7f1039]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x7f1039]
call fcn.0044cc20
jmp 0x5945a2
mov ebx, eax
mov edx, ecx
jmp 0x5935b0
mov ecx, edx
mov edx, 0
jmp 0x59351b
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], ebx
add esp, 0x1ec
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058fa70
lea eax, [0x787c00]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x33
mov eax, dword [0xbc7270]
test eax, eax
jne 0x59464e
lea eax, [0x7f1300]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x7f1300]
call fcn.0044cc20
jmp 0x594633
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x10]
lea edx, [0x7c8840]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438c00
mov eax, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
test ebp, ebp
jg 0x594a62
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp + 0x24]
movzx ebx, byte [esi + 0x4c]
test bl, bl
jne 0x59484e
mov dword [esp], esi
call fcn.0058be10
lea esi, [esp + 4]
lea edi, [esp + 0x154]
call fcn.0044d1fe
call fcn.0040a840
mov eax, dword [esp]
mov dword [esp + 0x138], eax
call fcn.0040a840
mov eax, dword [esp]
mov dword [esp + 0x134], eax
lea ecx, [0x79e020]
mov dword [esp], ecx
call fcn.00409dc0
mov edi, dword [esp + 4]
mov eax, dword [0xbc7270]
test eax, eax
jne 0x594a3a
mov ecx, dword [esp + 0x138]
mov dword [edi], ecx
mov ecx, dword [esp + 0x134]
mov dword [edi + 4], ecx
mov dword [esp + 0xcc], edi
lea edi, [esp + 0x184]
xor eax, eax
call fcn.0044cd13
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x190], edx
lea edi, [esp + 0x194]
lea esi, [esp + 0x154]
call fcn.0044d1fe
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [edx + 0x3c]
mov edx, dword [edx + 0x40]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0xbc]
xor ebp, ebp
jmp 0x5947ad
inc ebp
xor eax, eax
cmp ebp, ebx
jge 0x5947f0
mov eax, dword [edx + ebp*4]
test ebp, ebp
je 0x5947aa
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x18c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056f670
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x94]
jmp 0x5947aa
test ebx, ebx
jbe 0x594c70
mov eax, dword [edx]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x184]
call fcn.0044d1ae
call fcn.00574320
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov esi, ebp
mov ebp, dword [esp + 0x12c]
mov dword [ebp + 0x58], edx
mov dword [ebp + 0x5c], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x594a2b
mov dword [ebp + 0x54], ecx
test ebx, ebx
jne 0x5949ed
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x59495c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jbe 0x594c69
mov eax, dword [esp + 0x120]
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
test edx, edx
je 0x5948ce
mov ebx, dword [edx + 8]
cmp ebx, 0x2fd00e80
jne 0x5948bc
lea esi, [0x7b2980]
cmp esi, edx
jne 0x5948bc
mov dword [ebp + 0x4c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [ebp + 0x50], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x5948af
mov dword [ebp + 0x48], eax
jmp 0x5934e4
lea edi, [ebp + 0x48]
call fcn.0044cc20
jmp 0x5934e4
cmp ebx, 0xcc456746
jne 0x5948ce
lea ebx, [0x77d4e0]
cmp ebx, edx
je 0x594890
mov dword [esp], ebp
mov byte [esp + 4], 0x2b
call fcn.0058fa70
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0x120]
mov eax, dword [eax]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
lea eax, [0x7f41a4]
mov dword [esp], eax
mov dword [esp + 4], 0x48
lea eax, [esp + 0x144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bcb10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov esi, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x58]
mov ebp, dword [ebp + 0x54]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5949a8
mov ebp, dword [esp + 0x12c]
jmp 0x59485c
mov dword [esp + 0x104], eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058fa70
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x140], esi
mov dword [esp], ebp
mov byte [esp + 4], 0x2a
call fcn.0058fa70
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [ebp + 0x54]
mov eax, ecx
call fcn.0044cc20
jmp 0x594846
mov eax, dword [esp + 0x138]
call fcn.0044cc20
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x134]
call fcn.0044cc20
mov edi, edx
jmp 0x594730
mov dword [esp + 0xc8], ebp
xor edi, edi
jmp 0x594a7b
mov eax, dword [esp + 0x130]
add eax, 0xc
mov esi, eax
mov edi, ecx
mov dword [esp + 0x130], esi
mov dword [esp + 0x98], edi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0057a3a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x594b0a
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xbc]
cmp ecx, ebx
jae 0x594c77
mov ebp, dword [esp + 0x120]
lea edi, [ebp + ecx*4]
mov esi, dword [0xbc7270]
test esi, esi
jne 0x594b03
mov dword [ebp + ecx*4], eax
inc ecx
mov esi, dword [esp + 0xc8]
cmp ecx, esi
jl 0x594a6d
mov eax, ebx
mov ecx, dword [esp + 0xc0]
mov edx, ebp
mov ebx, dword [esp + 0x128]
jmp 0x5946b1
call fcn.0044cc20
jmp 0x594ae0
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058fa70
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x7efa82]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bf20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x787c00]
mov dword [esp], edx
call fcn.00409dc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x594bca
mov eax, dword [esp + 0xdc]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xdc]
call fcn.0044cc20
jmp 0x594baf
mov ecx, edx
mov edx, 0
jmp 0x5933d4
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.0044b4c0
jmp fcn.00593360