Function at 0x53ac80
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 0x53c59e
sub esp, 0x1ec
mov eax, 0
lea edi, [esp + 0x168]
call fcn.0044b779
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax]
mov dword [esp + 0x12c], ecx
mov dword [esp], ecx
call fcn.00537fa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x53c504
lea eax, [0x5f54a0]
cmp eax, ebx
jne 0x53c4f8
mov ecx, edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x88], ebx
jne 0x53ad12
mov ebp, dword [edx + 0x10]
test ebp, ebp
jne 0x53ad72
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00537450
lea eax, [0x5f54a0]
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.005342d0
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.00541570
mov eax, dword [esp + 0x1f0]
lea ecx, [eax + 0x10]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.0054b5e0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x53bf7b
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x48]
test ecx, ecx
jbe 0x53c582
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 0x53c582
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.00402140
movzx eax, byte [esp + 0x18]
test al, al
je 0x53bf14
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.00537fa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x53beff
lea ecx, [0x5f55a0]
cmp ecx, eax
jne 0x53bef3
mov ecx, edx
jne 0x53beea
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x38]
test cl, cl
je 0x53be83
mov dword [esp + 0x118], edx
mov dword [esp], edx
call fcn.00541cc0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.0054b5e0
mov eax, dword [esp + 0x118]
movzx ecx, byte [eax + 0xc]
cmp cl, 1
jne 0x53be77
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 [0x7db370]
test ecx, ecx
jne 0x53be68
mov dword [ebp + 0x30], edx
mov dword [esp], ebp
call fcn.00537fa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x53be53
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, [0x5f5aa0]
mov ebp, dword [esp + 0x88]
cmp ebx, ebp
jne 0x53be49
mov edx, dword [esp + 0xe8]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x8c], ecx
jne 0x53be3b
mov dword [esp + 0xf4], edx
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x53bd3f
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.0054b5e0
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 0x53c55f
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 0x53bcfa
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.00537fa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x53bce5
lea eax, [0x5f5520]
cmp eax, ebx
jne 0x53bcd9
mov eax, edx
mov dword [esp + 0x124], edx
je 0x53bbfa
xor ecx, ecx
xor ebp, ebp
lea esi, [0x5f59a0]
cmp esi, ebx
jne 0x53bbee
mov edi, eax
jne 0x53bb79
mov dword [esp + 0x11c], ebp
mov byte [esp + 0x5f], cl
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00437b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x53c558
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.0054b5e0
movzx eax, byte [esp + 0x5f]
test al, al
jne 0x53bab0
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 0x53c551
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 0x53ba6b
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], ebp
test esi, esi
je 0x53b191
mov dword [esp + 0xec], esi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test edi, edi
je 0x53b96e
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.0054b5e0
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
test edx, edx
je 0x53b872
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.00537ed0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x53b85d
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x53b1a7
mov edx, dword [ecx + 4]
test edx, edx
jg 0x53b3cd
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.0054aac0
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 [0x7db370]
test ebp, ebp
jne 0x53b3ba
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.00533d70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x53b2ec
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 [0x7db370]
test edx, edx
jne 0x53b2e0
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.0044b680
jmp 0x53b2c3
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.00537450
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, [0x62643e]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043ade0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
lea edx, [0x5ea220]
mov dword [esp], edx
call fcn.00409a30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [0x7db370]
test eax, eax
jne 0x53b3ac
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
lea eax, [0x65f350]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xe0]
call fcn.0044b680
jmp 0x53b391
lea edi, [ebx + 0x44]
mov ebp, eax
mov eax, edx
call fcn.0044b680
mov eax, ebp
jmp 0x53b252
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0044b779
lea edi, [esp + 0x168]
call fcn.0044b779
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, [0x5eb380]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00407950
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
test bl, bl
je 0x53b7ca
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.00531560
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 0x53b785
movzx eax, byte [esp + 0x174]
test al, al
je 0x53b4ff
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.0044bc0e
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.0044bc0e
mov byte [esp + 0x34], bl
mov dword [esp + 0x38], ebp
call fcn.0054bfd0
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 0x53b740
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0xb8], ebp
lea eax, [0x65f830]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.00407490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x5e]
cmp dl, 0x12
je 0x53b713
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x53b702
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 0x53b6bd
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.00543150
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.0054b5e0
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.00543150
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.00537ed0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x53b1a7
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.00537450
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 [0x7c946c]
mov ebx, dword [0x7c9468]
jmp 0x53b5cb
lea eax, [0x5ef4e0]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
lea ecx, [0x65f330]
jmp 0x53b5b4
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.00537450
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.00537450
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.00537450
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, [0x62d15f]
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.00498df0
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, [0x5dfee0]
mov dword [esp], edx
lea edx, [ecx + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00437b80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x53c52e
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x53c527
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x53c520
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x53c519
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 0x53b96a
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], ecx
cmp edx, ebx
je 0x53b927
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044be80
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 [0x7db370]
test ebx, ebx
jne 0x53b95c
mov eax, dword [esp + 0xd8]
mov dword [edi], eax
mov ecx, edx
mov ebx, dword [esp + 0x68]
mov edx, eax
jmp 0x53b161
mov eax, dword [esp + 0xd8]
call fcn.0044b680
jmp 0x53b94f
mov esi, ebp
jmp 0x53b90b
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc8], eax
lea ecx, [0x5dfee0]
mov dword [esp], ecx
lea edx, [eax + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00437b80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x53c54a
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x53c543
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x53c53c
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x53c535
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 0x53ba67
mov dword [esp + 0x74], eax
mov dword [esp + 0x64], ecx
cmp edx, ebx
je 0x53ba23
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044be80
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 [0x7db370]
test ebx, ebx
jne 0x53ba59
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
mov eax, edx
mov edi, dword [esp + 0xd4]
jmp 0x53b12f
mov eax, dword [esp + 0xd4]
call fcn.0044b680
jmp 0x53ba4b
mov esi, ebp
jmp 0x53ba07
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.00537450
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, [0x5ef660]
mov dword [esp], eax
call fcn.00409a30
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 [0x7db370]
test edx, edx
jne 0x53bb66
mov dword [eax + 0xc], ebp
mov dword [esp + 0x128], eax
mov dword [esp], eax
call fcn.00541570
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.0054b5e0
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.00541570
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.00537ed0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x53b099
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.0044b680
mov eax, edx
jmp 0x53bae8
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.00537450
lea eax, [0x5f59a0]
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.005342d0
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 0x53b02b
mov dword [esp], edx
call fcn.005427b0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.0054b5e0
mov eax, dword [esp + 0x1f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
call fcn.0053db60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x53bc94
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.00537fa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x53bc7f
mov eax, edx
mov ecx, 1
mov ebp, dword [esp + 0x11c]
mov edx, dword [esp + 0x124]
jmp 0x53b01b
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.00537450
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 0x53b00a
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.00537450
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, [0x5dfee0]
mov dword [esp], ecx
lea ebx, [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00437b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x53c57b
mov byte [eax], 0xc
cmp edx, 1
jbe 0x53c574
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp edx, 2
jbe 0x53c56d
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp edx, 3
jbe 0x53c566
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 0x53be37
mov dword [esp + 0xd0], eax
mov dword [esp + 0x60], edx
cmp esi, ebx
je 0x53bdf6
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.0044be80
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 [0x7db370]
test ebx, ebx
jne 0x53be29
mov eax, dword [esp + 0xd0]
mov dword [edi], eax
mov ebx, edx
mov ebp, ecx
mov esi, eax
jmp 0x53af4f
mov eax, dword [esp + 0xd0]
call fcn.0044b680
jmp 0x53be1e
mov ecx, ebp
jmp 0x53bdd7
mov edx, dword [esp + 0xe8]
mov ebx, ebp
jmp 0x53affa
mov edx, 0
jmp 0x53af24
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [ebp + 0x30]
mov eax, edx
call fcn.0044b680
jmp 0x53aeb0
mov ebp, dword [esp + 0x12c]
jmp 0x53aeb0
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00537450
lea eax, [0x5ea220]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x32
mov eax, dword [0x7db370]
test eax, eax
jne 0x53bedd
lea eax, [0x62ab59]
mov dword [edi], eax
lea eax, [0x65f350]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x62ab59]
call fcn.0044b680
jmp 0x53bec2
mov ebx, eax
mov edx, ecx
jmp 0x53aed0
mov ecx, edx
mov edx, 0
jmp 0x53ae3b
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.00537450
lea eax, [0x5ea220]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x33
mov eax, dword [0x7db370]
test eax, eax
jne 0x53bf6e
lea eax, [0x62ad87]
mov dword [edi], eax
lea eax, [0x65f350]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x62ad87]
call fcn.0044b680
jmp 0x53bf53
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x10]
lea edx, [0x60fe20]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00437b80
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 0x53c382
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp + 0x24]
movzx ebx, byte [esi + 0x4c]
test bl, bl
jne 0x53c16e
mov dword [esp], esi
call fcn.005339d0
lea esi, [esp + 4]
lea edi, [esp + 0x154]
call fcn.0044bc5e
call fcn.0040a4b0
mov eax, dword [esp]
mov dword [esp + 0x138], eax
call fcn.0040a4b0
mov eax, dword [esp]
mov dword [esp + 0x134], eax
lea ecx, [0x5f7a60]
mov dword [esp], ecx
call fcn.00409a30
mov edi, dword [esp + 4]
mov eax, dword [0x7db370]
test eax, eax
jne 0x53c35a
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.0044b773
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.0044bc5e
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 0x53c0cd
inc ebp
xor eax, eax
cmp ebp, ebx
jge 0x53c110
mov eax, dword [edx + ebp*4]
test ebp, ebp
je 0x53c0ca
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x18c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00519920
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x94]
jmp 0x53c0ca
test ebx, ebx
jbe 0x53c590
mov eax, dword [edx]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x184]
call fcn.0044bc0e
call fcn.0051e480
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 [0x7db370]
test eax, eax
jne 0x53c34b
mov dword [ebp + 0x54], ecx
test ebx, ebx
jne 0x53c30d
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x53c27c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jbe 0x53c589
mov eax, dword [esp + 0x120]
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
test edx, edx
je 0x53c1ee
mov ebx, dword [edx + 8]
cmp ebx, 0x2fd00e80
jne 0x53c1dc
lea esi, [0x604340]
cmp esi, edx
jne 0x53c1dc
mov dword [ebp + 0x4c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [ebp + 0x50], ecx
mov ecx, dword [0x7db370]
test ecx, ecx
jne 0x53c1cf
mov dword [ebp + 0x48], eax
jmp 0x53ae04
lea edi, [ebp + 0x48]
call fcn.0044b680
jmp 0x53ae04
cmp ebx, 0xcc456746
jne 0x53c1ee
lea ebx, [0x5e46a0]
cmp ebx, edx
je 0x53c1b0
mov dword [esp], ebp
mov byte [esp + 4], 0x2b
call fcn.00537450
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, [0x62ce71]
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.00498df0
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 0x53c2c8
mov ebp, dword [esp + 0x12c]
jmp 0x53c17c
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.00537450
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.00537450
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.0044b680
jmp 0x53c166
mov eax, dword [esp + 0x138]
call fcn.0044b680
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x134]
call fcn.0044b680
mov edi, edx
jmp 0x53c050
mov dword [esp + 0xc8], ebp
xor edi, edi
jmp 0x53c39b
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.00524770
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x53c42a
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xbc]
cmp ecx, ebx
jae 0x53c597
mov ebp, dword [esp + 0x120]
lea edi, [ebp + ecx*4]
mov esi, dword [0x7db370]
test esi, esi
jne 0x53c423
mov dword [ebp + ecx*4], eax
inc ecx
mov esi, dword [esp + 0xc8]
cmp ecx, esi
jl 0x53c38d
mov eax, ebx
mov ecx, dword [esp + 0xc0]
mov edx, ebp
mov ebx, dword [esp + 0x128]
jmp 0x53bfd1
call fcn.0044b680
jmp 0x53c400
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.00537450
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, [0x629d8e]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043ade0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x5ea220]
mov dword [esp], edx
call fcn.00409a30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0x7db370]
test eax, eax
jne 0x53c4ea
mov eax, dword [esp + 0xdc]
mov dword [edi], eax
lea eax, [0x65f350]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xdc]
call fcn.0044b680
jmp 0x53c4cf
mov ecx, edx
mov edx, 0
jmp 0x53acf4
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.00449f20
jmp fcn.0053ac80