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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xfc]
cmp eax, dword [ecx + 8]
jbe 0x5ad98a
sub esp, 0x17c
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0046753e
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov edx, dword [esp + 0x184]
mov dword [esp + 4], edx
call fcn.005b9930
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x180]
mov dword [esp], edx
lea ebx, [0x5e1260]
mov dword [esp + 4], ebx
lea ebx, [esp + 0xc0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x5ac003
mov eax, dword [esp + 0x180]
test byte [eax], al
lea edi, [eax + 0x1c8]
lea esi, [esp + 0xc0]
call fcn.004679ac
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x5abe9d
mov ecx, dword [esp + 0xcc]
test ecx, ecx
jne 0x5abeba
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x17c
ret
mov byte [eax + 0x2a9], 1
mov ecx, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005b9930
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x140]
xor eax, eax
call fcn.00467549
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x180]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.005ab880
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x2c]
lea edi, [esp + 0x140]
lea esi, [esp + 0xc]
call fcn.00467a1a
lea edi, [esp + 0x124]
lea esi, [esp + 0x140]
call fcn.00467a1a
test eax, eax
jne 0x5abfe7
mov eax, dword [0x7f7690]
mov ecx, dword [esp + 0x180]
lea edi, [ecx + 0x210]
test eax, eax
je 0x5abf8c
mov dword [esp + 0x118], edi
lea eax, [0x60c2e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x140]
mov dword [esp + 8], eax
call fcn.00411290
mov edi, dword [esp + 0x118]
lea esi, [esp + 0x140]
call fcn.00467a1a
call fcn.0040cef0
mov eax, dword [0x7f7690]
mov ecx, dword [esp]
test eax, eax
jne 0x5abfb3
mov ebx, dword [esp + 0x180]
jmp 0x5abfca
call fcn.004672b0
mov dword [edi], ecx
mov ebx, dword [esp + 0x180]
mov ebp, dword [ebx + 0x238]
mov dword [edi + 4], ebp
mov dword [ebx + 0x238], ecx
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x48]
lea ebp, [ebp + esi + 0x14]
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5ac038
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], edx
add esp, 0x17c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x17c
ret
mov dword [eax + ebp + 8], esi
movzx esi, word [esp + 0x32]
lea eax, [esi + 1]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x50], ecx
cmp word [esp + 0x13e], ax
jbe 0x5ac363
mov word [esp + 0x32], ax
mov esi, dword [ebx + 0x2ac]
add esi, 0xfffffffc
cmp ebp, esi
jbe 0x5ac073
mov edi, dword [0x7c3d28]
mov eax, dword [0x7c3d2c]
mov dword [esp + 0x110], eax
xor eax, eax
jmp 0x5ac0b1
mov edi, dword [ebx + 0x28c]
cmp ebp, edi
ja 0x5ad980
mov eax, dword [ebx + 0x290]
sub edi, ebp
sub eax, ebp
neg eax
sar eax, 0x1f
and eax, ebp
cmp edi, 3
jbe 0x5ad974
mov edi, dword [ebx + 0x288]
mov eax, dword [eax + edi]
xor edi, edi
xor edi, edi
mov dword [esp + 0x110], edi
xor edi, edi
test edi, edi
jne 0x5ac347
mov dword [esp + 0x38], eax
lea edi, [ebp + 4]
cmp esi, edi
jae 0x5ac0e0
mov esi, dword [0x7c3d28]
mov edi, dword [0x7c3d2c]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
jmp 0x5ac123
mov esi, dword [ebx + 0x28c]
cmp esi, edi
jb 0x5ad96b
mov eax, dword [ebx + 0x290]
sub esi, ebp
sub eax, ebp
add esi, 0xfffffffc
add eax, 0xfffffffc
neg eax
sar eax, 0x1f
and edi, eax
cmp esi, 3
jbe 0x5ad95f
mov eax, dword [ebx + 0x288]
mov eax, dword [edi + eax]
xor esi, esi
mov dword [esp + 0x34], eax
xor edi, edi
mov eax, dword [esp + 0x38]
test esi, esi
jne 0x5ac332
mov dword [esp + 0x54], edx
add ebp, 8
xor esi, esi
xor edi, edi
xor esi, esi
mov dword [esp + 0x44], esi
xor esi, esi
jmp 0x5ad825
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x44]
cmp esi, 2
jne 0x5ac18f
cmp word [edi], 0x7e23
je 0x5ac16f
cmp esi, 2
jne 0x5ac183
cmp word [edi], 0x2d23
jne 0x5ac177
mov ecx, eax
mov edx, dword [esp + 0x34]
jmp 0x5ac199
mov ecx, eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
jmp 0x5ac199
mov ecx, eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
jmp 0x5ac199
mov ecx, eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0xc8]
mov dword [esp], ebx
add ebp, ecx
mov dword [esp + 4], ebp
call fcn.005b9930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x290]
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + eax]
cmp edx, ebp
jb 0x5ad946
cmp eax, ebp
ja 0x5ad93f
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], edx
mov eax, dword [ecx + 0x238]
mov edx, dword [ecx + 0x288]
mov dword [esp + 0x114], edx
lea ebx, [0x5f0f80]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x44]
mov dword [esp + 0xc], ebp
call fcn.00410ab0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
sub edx, ebx
mov dword [eax + 8], edx
mov ebp, dword [0x7f7690]
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x114]
add edx, ebx
test ebp, ebp
je 0x5ac25c
call fcn.004672b0
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov ebx, dword [esp + 0x180]
mov ebp, dword [ebx + 0x234]
mov esi, dword [ebx + 0x230]
inc esi
mov edi, dword [ebx + 0x22c]
cmp ebp, esi
jae 0x5ac2df
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x601280]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x180]
mov dword [ebx + 0x234], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5ac2d1
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x22c]
mov dword [edi + 4], ebp
mov dword [ebx + 0x22c], ecx
mov edi, ecx
mov esi, edx
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x230], esi
lea ebp, [esi - 1]
shl ebp, 4
mov esi, dword [esp + 0x38]
mov dword [edi + ebp], esi
mov dword [edi + ebp + 4], ecx
mov esi, dword [esp + 0x44]
mov dword [edi + ebp + 0xc], esi
mov esi, dword [0x7f7690]
test esi, esi
jne 0x5ac316
mov eax, edi
mov esi, dword [esp + 0x10c]
jmp 0x5ac020
mov eax, edi
call fcn.004672b0
mov esi, dword [esp + 0x10c]
mov dword [edi], esi
mov ecx, dword [eax + ebp + 8]
mov dword [edi + 4], ecx
jmp 0x5ac020
mov dword [esp + 0x18c], esi
mov dword [esp + 0x190], edi
add esp, 0x17c
ret
mov dword [esp + 0x18c], edi
mov eax, dword [esp + 0x110]
mov dword [esp + 0x190], eax
add esp, 0x17c
ret
test ecx, ecx
je 0x5ac4f7
mov eax, dword [esp + 0xc8]
mov dword [esp], ebx
add eax, edx
mov dword [esp + 4], eax
call fcn.005b9930
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
call fcn.005ab780
mov eax, dword [esp + 0x24]
lea edi, [esp + 0xa8]
lea esi, [esp + 0xc]
call fcn.00467a24
lea edi, [esp + 0x78]
lea esi, [esp + 0xa8]
call fcn.00467a24
test eax, eax
jne 0x5ac4da
mov eax, dword [esp + 0x180]
lea edi, [eax + 0x23c]
lea esi, [esp + 0xa8]
call fcn.00467a24
movzx ecx, byte [eax + 0x242]
test ecx, 1
seta cl
and ecx, 1
test cl, cl
je 0x5ac406
mov ecx, 4
jmp 0x5ac40b
mov ecx, 2
mov dword [eax + 0x258], ecx
movzx ecx, byte [eax + 0x242]
test ecx, 2
seta cl
and ecx, 1
test cl, cl
je 0x5ac42f
mov ecx, 4
jmp 0x5ac434
mov ecx, 2
mov dword [eax + 0x25c], ecx
movzx ecx, byte [eax + 0x242]
test ecx, 4
seta cl
and ecx, 1
test cl, cl
je 0x5ac458
mov ecx, 4
jmp 0x5ac45d
mov ecx, 2
mov dword [eax + 0x260], ecx
lea edi, [esp + 0x90]
lea esi, [esp + 0x78]
call fcn.00467a24
lea ecx, [0x60b480]
mov dword [esp], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 4], ecx
call fcn.004cc720
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
call fcn.0040cef0
mov eax, dword [0x7f7690]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x48]
add ecx, edx
mov edx, dword [esp]
test eax, eax
jne 0x5ac4b9
mov eax, dword [esp + 0x180]
jmp 0x5ac4d0
call fcn.004672b0
mov dword [edi], edx
mov eax, dword [esp + 0x180]
mov ebx, dword [eax + 0x254]
mov dword [edi + 4], ebx
mov dword [eax + 0x254], edx
xor edx, edx
jmp 0x5ac524
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x17c
ret
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x17c
ret
mov ebp, dword [esp + 0x5c]
lea edx, [ebp + 1]
mov eax, dword [esp + 0x180]
mov ecx, ebx
cmp edx, 0x2c
jg 0x5ac69f
mov dword [esp + 0x5c], edx
mov ebx, ecx
mov ecx, edx
mov ebp, 1
shl ebp, cl
lea esi, [ecx - 0x20]
mov ecx, esi
mov edi, 1
shl edi, cl
neg ecx
mov eax, 1
shr eax, cl
cmp edx, 0x20
sbb edx, edx
and ebp, edx
and ebp, dword [esp + 0x80]
cmp esi, 0x20
sbb edx, edx
and edi, edx
cmp ecx, 0x20
sbb edx, edx
and eax, edx
or eax, edi
and eax, dword [esp + 0x84]
test eax, eax
seta al
sete dl
test ebp, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebp
or eax, edx
test al, al
je 0x5ac514
mov dword [esp + 0x60], ebx
lea eax, [0x601300]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
call fcn.005ab660
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x120]
mov dword [edx + 4], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5ac5e0
call fcn.004672b0
mov dword [edi], ecx
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], ecx
mov ebx, dword [esp + 0x180]
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffc
mov eax, dword [esp + 0x60]
cmp eax, ebp
jbe 0x5ac604
mov ecx, dword [0x7c3d28]
xor ebp, ebp
jmp 0x5ac63c
mov ecx, dword [ebx + 0x28c]
cmp eax, ecx
ja 0x5ad80f
mov ebp, dword [ebx + 0x290]
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ecx, 3
jbe 0x5ad805
mov esi, dword [ebx + 0x288]
mov ebp, dword [ebp + esi]
xor ecx, ecx
mov dword [edx + 8], ebp
test ecx, ecx
jne 0x5ac6a8
mov eax, dword [ebx + 0x254]
lea ecx, [0x5f1340]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5ac67c
mov edx, dword [esp + 0x120]
jmp 0x5ac68f
call fcn.004672b0
mov edx, dword [esp + 0x120]
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov eax, dword [esp + 0x60]
lea ecx, [eax + 4]
mov ebx, ecx
jmp 0x5ac514
mov eax, ecx
mov ebx, dword [esp + 0x180]
xor ecx, ecx
jmp 0x5ac6ba
mov edx, dword [esp + 0x3c]
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x180]
cmp ecx, 0x2c
jg 0x5ad7e8
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x254]
lea edx, [0x5f1340]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040efa0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5ac6f6
mov eax, dword [esp + 0x48]
jmp 0x5ac6ac
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x12
jg 0x5acea8
cmp ecx, 0xa
jg 0x5acae9
cmp ecx, 4
jg 0x5ac905
cmp ecx, 1
jg 0x5ac813
test ecx, ecx
jne 0x5ac7a1
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005adcc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6c40]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac795
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ae0d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6e00]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac807
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 2
je 0x5ac893
cmp ecx, 4
jne 0x5ad398
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ae830
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6940]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac887
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ae370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6dc0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac8f9
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 8
jg 0x5aca00
cmp ecx, 6
je 0x5ac98e
cmp ecx, 8
jne 0x5ad398
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aefd0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6cc0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac982
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aeaf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6b00]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ac9f4
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 9
jne 0x5aca77
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005af2a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6a40]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5aca6b
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005af490
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6ac0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acadd
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0xe
jg 0x5acccd
cmp ecx, 0xc
jg 0x5acbe4
cmp ecx, 0xb
jne 0x5acb72
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005af730
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6700]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acb66
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005afa80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6740]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acbd8
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0xd
jne 0x5acc5b
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005afd20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e68c0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acc4f
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aff10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6780]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5accc1
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x10
jg 0x5acdbf
cmp ecx, 0xf
jne 0x5acd4d
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b01d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e66c0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acd41
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b0490
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6880]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acdb3
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x11
jne 0x5ace36
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b06b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6d80]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ace2a
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b0810
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e67c0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ace9c
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x1c
jg 0x5ad282
cmp ecx, 0x18
jg 0x5ad0a7
cmp ecx, 0x15
jg 0x5acfb5
cmp ecx, 0x14
je 0x5acf43
cmp ecx, 0x15
jne 0x5ad398
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b0cc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6d00]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acf37
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b0a00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6800]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5acfa9
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x17
je 0x5ad035
cmp ecx, 0x18
jne 0x5ad398
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1170
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6b80]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad029
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b0eb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6d40]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad09b
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x1a
jg 0x5ad199
cmp ecx, 0x19
jne 0x5ad127
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1430
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6b40]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad11b
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b16d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6c00]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad18d
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x1b
jne 0x5ad210
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1830
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6e40]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad204
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1990
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6a00]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad276
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x27
jg 0x5ad58f
cmp ecx, 0x20
jg 0x5ad386
cmp ecx, 0x1d
je 0x5ad314
cmp ecx, 0x20
jne 0x5ad398
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1f10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6680]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad308
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b1cf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6900]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad37a
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x23
je 0x5ad51d
cmp ecx, 0x27
je 0x5ad4ab
mov dword [esp], ecx
call fcn.005ab660
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.00467548
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.00409bc0
mov eax, dword [esp + 4]
lea ecx, [0x5eebe0]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call fcn.00409cd0
mov eax, dword [esp + 8]
lea ecx, [0x5eea60]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00409bc0
mov eax, dword [esp + 4]
lea ecx, [0x5eed60]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x108]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00409bc0
mov eax, dword [esp + 4]
lea ecx, [0x5eed60]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x180]
mov edx, dword [eax + 0x2c0]
mov dword [esp], edx
lea edx, [0x62c6ff]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x32
lea ebx, [esp + 0x15c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 4
call fcn.0050bc70
xor eax, eax
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b2f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6840]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad511
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b2740
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6640]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad583
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x29
jg 0x5ad681
cmp ecx, 0x28
jne 0x5ad60f
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b3340
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6a80]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad603
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b36c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6c80]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad675
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
cmp ecx, 0x2a
je 0x5ad770
cmp ecx, 0x2b
jne 0x5ad701
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b3c20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6bc0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad6f5
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b3e10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6980]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad767
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
jmp 0x5ad7dd
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005b38b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e69c0]
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5ad7d6
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0x10]
mov dword [edi + 4], ebx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
add eax, ecx
jmp 0x5ac6ac
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x17c
ret
mov eax, 3
call fcn.00467310
call fcn.00467380
inc esi
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10c], edi
cmp esi, 0x20
ja 0x5ac14f
lea eax, [ebp + 1]
cmp dword [ebx + 0x2ac], eax
jae 0x5ad85c
mov ebp, dword [0x7c3d28]
mov ecx, dword [0x7c3d2c]
mov dword [esp + 0x68], eax
xor eax, eax
mov byte [esp + 0x31], al
mov eax, dword [esp + 0x68]
jmp 0x5ad891
mov ecx, dword [ebx + 0x290]
cmp ecx, eax
jb 0x5ad956
cmp ebp, eax
ja 0x5ad94d
mov edx, dword [ebx + 0x288]
sub ecx, ebp
neg ecx
sar ecx, 0x1f
and ebp, ecx
movzx ecx, byte [edx + ebp]
mov edx, dword [esp + 0x54]
xor ebp, ebp
mov byte [esp + 0x31], cl
xor ecx, ecx
test ebp, ebp
jne 0x5ad92a
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], eax
movzx ebp, byte [esp + 0x31]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5ad8ca
lea ecx, [esi + 1]
test ecx, 3
je 0x5ac143
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5ad8ca
mov ecx, dword [esp + 0x44]
jmp 0x5ad814
mov dword [esp], 0
mov dword [esp + 8], 0
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
mov dword [esp + 4], eax
call fcn.00451a30
mov dword [esp], 0
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00451270
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x180]
mov esi, dword [esp + 0x58]
mov ecx, eax
mov eax, dword [esp + 0x60]
jmp 0x5ad814
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x190], ecx
add esp, 0x17c
ret
mov ecx, ebp
call fcn.00467380
mov ecx, ebp
call fcn.00467360
mov ecx, eax
mov eax, ebp
call fcn.00467380
mov edx, ecx
mov ecx, eax
call fcn.00467360
mov eax, 3
mov ecx, esi
call fcn.00467310
mov eax, edi
mov ecx, esi
call fcn.00467380
mov eax, 3
mov ecx, edi
call fcn.00467310
mov eax, ebp
mov ecx, edi
call fcn.00467380
nop
call fcn.00465ea0
jmp fcn.005abde0