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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1a4]
cmp eax, dword [ecx + 8]
jbe 0x5a6250
sub esp, 0x224
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movzx ecx, byte [ecx + 0x4c]
test cl, cl
je 0x5a4db8
mov ecx, dword [eax + 0x58]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jle 0x5a4db8
mov ecx, dword [eax + 8]
mov byte [ecx + 0x38], 1
mov dword [esp + 0xdc], edx
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x68]
test cl, cl
je 0x5a61ee
mov ecx, dword [edx + 0x24]
movzx ecx, byte [ecx + 0x5d]
xor ecx, 1
mov edx, dword [eax + 8]
mov byte [edx + 0x39], cl
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
movzx edx, word [edx]
mov word [ecx + 0x28], dx
mov ecx, dword [eax]
movzx ecx, word [ecx + 0x20]
mov edx, dword [eax + 0xc]
mov word [esp], cx
mov dword [esp + 4], edx
call fcn.005b0240
lea esi, [esp + 8]
mov eax, dword [0xb91180]
mov ecx, dword [esp + 0x228]
lea edi, [ecx + 0x18]
mov dword [esp + 0xf4], edi
test eax, eax
jne 0x5a61be
call fcn.0044f65e
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
test edx, edx
jne 0x5a61b2
nop
mov edx, dword [esp + 0x228]
mov dword [edx + 0x3c], 0
mov dword [edx + 0x40], 0
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x5a61a3
mov dword [edx + 0x38], 0
mov eax, dword [edx + 4]
mov dword [esp], eax
call fcn.0059b6a0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005b0570
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0059d860
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005b0570
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0059d860
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5a618e
lea edi, [esp + 0x140]
xor eax, eax
call fcn.0044f1ca
mov ecx, dword [esp + 0x228]
mov edx, dword [ecx + 0x58]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ebp
mov dword [esp + 0x154], ebx
lea edx, [esp + 0x140]
mov dword [esp], edx
call fcn.005a04a0
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
call fcn.005b0570
lea ecx, [esp + 0x140]
mov dword [esp], ecx
call fcn.005a04a0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0xdc]
mov dword [esp], ebp
mov byte [esp + 4], 0x16
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0058f1f0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x5a6179
mov ecx, dword [esp + 0x228]
mov ebx, dword [ecx + 8]
movzx ebx, byte [ebx + 0x38]
test bl, bl
jne 0x5a60bd
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0xdc]
movzx ebx, word [eax + 0x20]
mov word [esp], bx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xcc], ecx
mov ebx, dword [eax + 0x14]
mov ebp, dword [esp + 0xdc]
mov esi, dword [ebp + 0x24]
mov edi, dword [esp + 0x228]
mov eax, dword [edi + 0x58]
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
jne 0x5a6078
test eax, eax
je 0x5a509a
mov dword [esp + 0xc8], eax
nop
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
test ebx, ebx
je 0x5a5f92
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.005b0570
nop
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
test ebx, ebx
je 0x5a5eac
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5a5e97
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x24]
cmp dword [edx + 0x44], 1
jge 0x5a5d5c
nop
lea eax, [0x7ac140]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov byte [eax], 0xe
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005b0570
nop
lea eax, [0x7ac140]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov byte [eax], 0xe
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5a5d47
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0058ed10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x5a5d32
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0058f2c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x5a5d1d
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x24]
cmp dword [ecx + 0x44], 1
jl 0x5a5d14
lea ecx, [0x7c7200]
cmp ecx, ebx
jne 0x5a5d08
mov ebp, edx
mov dword [esp + 0xf0], edx
jne 0x5a5bee
mov dword [esp], edx
call fcn.005a04a0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005b0570
lea edi, [esp + 0x158]
xor eax, eax
call fcn.0044f1c4
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x160], edx
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x158]
call fcn.0044f668
call fcn.005a7380
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x5a5bd9
mov eax, dword [esp + 0xf0]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5a5bc9
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
test edx, edx
jbe 0x5a6211
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x50]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x88], ecx
mov dword [esp], eax
call fcn.0058f2c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test eax, eax
jne 0x5a5bb4
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x88]
lea ebp, [0x7c7440]
cmp ebp, ebx
jne 0x5a5ba8
mov esi, edx
mov dword [esp + 0xc4], edx
jne 0x5a5a8d
mov dword [esp + 0xc0], eax
mov dword [esp + 0x88], ecx
nop
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x5a59a5
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.005b0570
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x228]
mov ebp, dword [ebx + 0x58]
movzx esi, word [ecx + 0x20]
mov edi, dword [esp + 0xcc]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0xc4]
mov dword [esp + 0xc], edx
mov word [esp + 0x10], si
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ecx, ecx
jne 0x5a5960
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov edi, dword [esp + 0xdc]
movzx edi, word [edi + 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xac], edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esi + 0x14]
mov esi, dword [esi + 0x10]
mov word [esp], di
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], eax
call fcn.005afab0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x228]
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], eax
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x5a594d
mov dword [ebx + 0x4c], edx
mov ebp, dword [ebx + 4]
mov esi, dword [esp + 0xdc]
mov edi, dword [esi + 0x24]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0x18]
mov dword [esp], edi
lea edi, [0x817302]
mov dword [esp + 4], edi
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.0058a220
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x5a5908
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jg 0x5a54df
nop
mov ecx, dword [esp + 0x228]
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x40], 0
mov edx, dword [0xb91180]
test edx, edx
jne 0x5a54d3
mov dword [ecx + 0x38], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x230], 0
add esp, 0x224
ret
lea edi, [ecx + 0x38]
xor eax, eax
call fcn.0044f0d0
jmp 0x5a54b6
mov dword [esp], ecx
call fcn.0058f2c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x5a58f3
lea edx, [0x7c73e0]
cmp edx, ecx
jne 0x5a58e7
mov ebx, eax
mov dword [esp + 0xec], eax
jne 0x5a57cc
mov word [esp + 0x5e], 0
movzx ecx, word [eax + 0xe]
mov word [esp + 0x5e], cx
mov ecx, dword [esp + 0xdc]
movzx edx, word [ecx + 0x20]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 4], ebp
lea esi, [esp + 0x5e]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov esi, dword [0xb7dbd0]
mov edi, dword [0xb7dbcc]
mov ebp, dword [0xb7dbc8]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov word [esp + 0x20], dx
call fcn.005863c0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x5a5787
mov byte [esp + 0x5d], dl
mov dword [esp + 0x94], ebx
lea edi, [esp + 0x1bc]
mov esi, dword [esp + 0xf4]
call fcn.0044f65e
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xe8], ecx
mov ebp, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov edi, esp
lea esi, [esp + 0x1bc]
call fcn.0044f65e
mov byte [esp + 0x34], dl
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebp
call fcn.005b0ee0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
test eax, eax
je 0x5a5724
test eax, eax
je 0x5a5701
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058e890
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x82da0b]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x38
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043dbd0
nop
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb0], ecx
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x80]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5a56f3
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], edi
add esp, 0x224
ret
mov eax, dword [esp + 0xb0]
call fcn.0044f0d0
jmp 0x5a56d8
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a2c50
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005b0570
jmp 0x5a548f
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
movzx eax, byte [esp + 0x5d]
mov byte [esp], al
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
call fcn.00586840
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x5a5624
mov dword [esp + 0xd4], eax
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.0058e890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x230], eax
add esp, 0x224
ret
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xfc], eax
lea eax, [0x7c73e0]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x104], eax
nop
lea eax, [0x82fc2f]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5a58d9
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], edi
add esp, 0x224
ret
mov eax, dword [esp + 0xb8]
call fcn.0044f0d0
jmp 0x5a58be
mov ebx, eax
mov eax, 0
jmp 0x5a550f
mov dword [esp + 0x22c], ebx
mov dword [esp + 0x230], edx
add esp, 0x224
ret
mov dword [esp + 0xd8], eax
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0x98]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x230], eax
add esp, 0x224
ret
lea edi, [ebx + 0x4c]
mov ebp, eax
mov eax, edx
call fcn.0044f0d0
mov eax, ebp
jmp 0x5a5429
mov dword [esp + 0xd0], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.0058e890
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x230], eax
add esp, 0x224
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xac], eax
lea ecx, [0x7ac140]
mov dword [esp], ecx
lea ecx, [eax + 4]
mov dword [esp + 0x6c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jbe 0x5a620a
mov byte [eax], 0x10
cmp ecx, 1
jbe 0x5a6203
mov edx, dword [esp + 0xac]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x5a61fc
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x5a61f5
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xc4]
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
cmp ebx, esi
jle 0x5a5a89
mov dword [esp + 0xe0], eax
cmp ebp, edx
je 0x5a5a4c
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0044f8d0
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0xc4]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x5a5a7b
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
mov ebx, ecx
mov esi, eax
mov ebp, ebx
jmp 0x5a52ec
mov eax, dword [esp + 0xe0]
call fcn.0044f0d0
jmp 0x5a5a70
mov esi, ebx
jmp 0x5a5a31
mov dword [esp + 0xe4], esi
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10c], eax
lea eax, [0x7c7440]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x114], eax
nop
lea eax, [0x82fc2f]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xbc], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5a5b9a
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], edi
add esp, 0x224
ret
mov eax, dword [esp + 0xbc]
call fcn.0044f0d0
jmp 0x5a5b7f
mov esi, edx
mov edx, 0
jmp 0x5a52c0
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], ecx
add esp, 0x224
ret
mov eax, dword [esp + 0xdc]
xor edx, edx
xor ecx, ecx
jmp 0x5a5274
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
add esp, 0x224
ret
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x64], ebx
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x11c], eax
lea eax, [0x7c7200]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x124], eax
nop
lea eax, [0x82fc2f]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb4], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5a5cfa
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], edi
add esp, 0x224
ret
mov eax, dword [esp + 0xb4]
call fcn.0044f0d0
jmp 0x5a5cdf
mov ebp, edx
mov edx, 0
jmp 0x5a51bf
xor eax, eax
xor ecx, ecx
jmp 0x5a52b0
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
add esp, 0x224
ret
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], ecx
add esp, 0x224
ret
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
add esp, 0x224
ret
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.0044f1c3
lea ecx, [0x79cf00]
mov dword [esp], ecx
call fcn.00409f80
mov ecx, dword [esp + 4]
movzx edx, word [0x8abd78]
mov word [ecx], dx
mov dword [esp + 0x204], 2
mov dword [esp + 0x208], 2
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0xdc]
cmp word [ecx + 0x20], 0x303
jb 0x5a5de1
mov byte [esp + 0x1fc], 1
mov eax, dword [0xb7dbd0]
mov edx, dword [0xb7dbcc]
mov ebx, dword [0xb7dbc8]
mov dword [esp + 0x210], edx
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], ebx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x5a5e69
lea eax, [esp + 0x1f0]
mov dword [esp], eax
call fcn.005a2340
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005b0570
lea eax, [esp + 0x1f0]
mov dword [esp], eax
call fcn.005a2340
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0058f1f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x5a50ae
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], ecx
add esp, 0x224
ret
mov dword [esp], eax
call fcn.00567cf0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp + 0x21c], edx
mov dword [esp + 0x220], ecx
mov dword [esp + 0x218], eax
jmp 0x5a5deb
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
add esp, 0x224
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
lea edx, [0x7ac140]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 0x74], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x5a622d
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x5a6226
mov edx, dword [esp + 0xac]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x5a621f
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x5a6218
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xc8]
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
cmp ebx, esi
jle 0x5a5f8e
mov dword [esp + 0xe0], eax
cmp ebp, edx
je 0x5a5f53
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0044f8d0
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0xc8]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x5a5f80
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
jmp 0x5a506a
mov eax, dword [esp + 0xe0]
call fcn.0044f0d0
jmp 0x5a5f77
mov esi, ebx
jmp 0x5a5f38
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
lea edx, [0x7ac140]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 0x70], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jbe 0x5a6249
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x5a6242
mov edx, dword [esp + 0xac]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x5a623b
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x5a6234
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xc8]
mov ebp, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
cmp ebx, ebp
jle 0x5a6074
mov dword [esp + 0xe0], eax
cmp esi, edx
je 0x5a6039
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044f8d0
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0xc8]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x5a6066
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
mov ebx, eax
mov edx, ecx
jmp 0x5a5037
mov eax, dword [esp + 0xe0]
call fcn.0044f0d0
jmp 0x5a605d
mov ebp, ebx
jmp 0x5a601e
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.0058e890
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x230], eax
add esp, 0x224
ret
lea edi, [esp + 0x128]
xor eax, eax
call fcn.0044f1ca
mov ecx, dword [esp + 0x228]
mov edx, dword [ecx + 0x58]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], ebx
lea edx, [esp + 0x128]
mov dword [esp], edx
call fcn.005a15a0
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
call fcn.005b0570
lea ecx, [esp + 0x128]
mov dword [esp], ecx
call fcn.005a15a0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0xdc]
mov dword [esp], ebp
mov byte [esp + 4], 0x16
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0058f1f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test ecx, ecx
jne 0x5a6164
mov ecx, dword [esp + 0x228]
jmp 0x5a4fa6
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], edx
add esp, 0x224
ret
mov dword [esp + 0x22c], edx
mov dword [esp + 0x230], ecx
add esp, 0x224
ret
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
add esp, 0x224
ret
lea edi, [edx + 0x38]
xor eax, eax
call fcn.0044f0d0
jmp 0x5a4e69
mov edx, dword [esp + 0x228]
jmp 0x5a4e69
mov eax, edi
lea edi, [esp + 0x188]
call fcn.0044f65e
lea ecx, [0x7fc740]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea ecx, [esp + 0x188]
mov dword [esp + 8], ecx
call fcn.004101b0
jmp 0x5a4e29
xor ecx, ecx
jmp 0x5a4dd8
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.0044d880
jmp fcn.005a4d70