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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [0x41f0cc]
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x64], eax
mov esi, dword [edi + 0x1d0]
test esi, esi
jne 0x143992c
push 0xe8
push 1
call fcn.014285db
add esp, 8
mov dword [edi + 0x1d0], eax
mov dword [eax], 0
mov esi, dword [edi + 0x1d0]
mov edx, dword [esi]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
xor ebp, ebp
cmp edx, 0x27fa
jg 0x1439991
cmp edx, 0x2593
jle 0x14399e5
cmp edx, 0x26d2
jg 0x1439a9c
cmp edx, 0x2594
je 0x1439beb
cmp edx, 0x2644
je 0x1439bfd
cmp edx, 0x268a
jne 0x143c7ee
test ecx, ecx
je 0x143a598
push 0x407f1b
jmp 0x143a9f2
cmp edx, 0x290a
jle 0x1439a3e
cmp edx, 0x29f6
jg 0x1439b45
cmp edx, 0x290b
je 0x1439f83
cmp edx, 0x294a
je 0x143a0a6
cmp edx, 0x298d
jne 0x143c7ee
mov ebp, edi
mov edi, esi
xor esi, esi
test ecx, ecx
jne 0x1439f92
mov ebp, 0x298d
jmp 0x143a933
cmp edx, 0x246d
jle 0x1439b7e
cmp edx, 0x246e
je 0x143a0cf
cmp edx, 0x24cd
je 0x143a0eb
cmp edx, 0x2555
jne 0x143c7ee
mov ebp, 0x2555
test ecx, ecx
jne 0x143c7ee
push eax
push ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x143ba8b
cmp edx, 0x2897
jle 0x1439bac
cmp edx, 0x2898
je 0x143a0fd
cmp edx, 0x28be
je 0x143a126
cmp edx, 0x28dc
mov ebp, 0
jne 0x143c7ee
mov ebp, 0x28dc
test ecx, ecx
jne 0x143c7ee
push eax
push ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x143c162
cmp edx, 0x26d3
je 0x143a251
cmp edx, 0x26f7
je 0x143a2c5
cmp edx, 0x27aa
jne 0x143c7ee
test ecx, ecx
je 0x143c6d8
cmp dword [ecx + 8], 0x3c
jne 0x143a79f
mov dword [esp], edi
mov edi, esi
lea esi, [esp + 0x44]
lea ebx, [esp + 0x40]
mov edx, ebx
push esi
call fcn.01439038
add esp, 4
mov eax, dword [ebx]
mov dword [edi + 0xd4], eax
mov edx, dword [esi]
mov dword [edi + 0xd0], edx
mov ecx, dword [edi + 0xc8]
lea esi, [ecx + 2]
cmp edx, esi
mov esi, edi
jne 0x1439b31
cmp byte [eax], 6
jne 0x1439b31
movsx edx, byte [eax + 1]
cmp ecx, edx
jne 0x1439b31
add eax, 2
push ecx
push dword [esi + 0xcc]
push eax
call fcn.01467ba1
add esp, 0xc
test eax, eax
je 0x143af6f
push 0x408e67
mov edi, dword [esp + 4]
push dword [edi + 0x110]
jmp 0x143a7aa
cmp edx, 0x29f7
je 0x143a2ee
cmp edx, 0x2a84
je 0x143a352
cmp edx, 0x2ab1
jne 0x143c7ee
test ecx, ecx
je 0x143a610
push dword [ecx + 8]
push 0x409393
jmp 0x143a98b
test edx, edx
je 0x143a386
cmp edx, 0x2463
jne 0x143c7ee
test ecx, ecx
je 0x143aa31
cmp dword [ecx + 8], 6
lea eax, [esi + 8]
je 0x143a400
jmp 0x143a687
cmp edx, 0x27fb
je 0x143a40b
cmp edx, 0x283f
jne 0x143c7ee
test ecx, ecx
je 0x143c51c
cmp dword [ecx + 8], 0x3c
je 0x143a138
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
mov dword [esi + 4], 7
mov dword [esi + 0x30], eax
jmp 0x143bb8d
test ecx, ecx
jne 0x143bba0
mov ebp, 0x2594
jmp 0x143c7ee
test ecx, ecx
je 0x143c3ba
cmp dword [ecx + 8], 0x3c
jne 0x143a7b4
test byte [0x41d110], 1
je 0x1439c50
mov edx, 0x408d46
mov ecx, edi
push 0x20
call fcn.0143568e
add esp, 4
mov edx, dword [esi + 0x90]
mov ecx, edi
push dword [esi + 0x9c]
call fcn.0143568e
add esp, 4
mov edx, 0x4080a5
mov ecx, edi
push 0xe
call fcn.0143568e
add esp, 4
mov ecx, 0x32
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d17
call fcn.0143425f
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
inc edx
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov byte [ecx + eax - 1], 1
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
add edx, 4
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov ebp, edi
mov edi, esi
xor esi, esi
mov dword [ecx + eax - 4], esi
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [edi + 0x8c]
mov ecx, dword [edi + 0xb8]
push dword [edi + 0x98]
call fcn.0143597e
add esp, 4
mov ebx, dword [edi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
add edx, 4
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + eax - 4], esi
mov esi, edi
mov edi, ebp
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [esi + 0x88]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x94]
call fcn.0143597e
add esp, 4
mov eax, dword [esi + 0xb8]
mov ecx, dword [edi + 0xe4]
mov eax, dword [eax]
lea eax, [eax + ecx - 1]
mov dword [esi + 0xa0], eax
cmp byte [edi + 0x50], 0
jns 0x1439d52
add eax, 0xfffffffc
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x94]
lea edx, [ecx + eax + 0xd]
lea eax, [ecx + eax + 0x11]
mov dword [esi + 0xa8], edx
push 1
push eax
call fcn.014285db
add esp, 8
mov dword [esi + 0xb0], eax
mov cl, byte [esi + 0xab]
mov byte [eax], cl
mov al, byte [esi + 0xaa]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 1], al
mov al, byte [esi + 0xa9]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 2], al
mov al, byte [esi + 0xa8]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xb0]
lea ecx, [eax + 5]
mov dword [esi + 0xac], ecx
mov byte [eax + 4], 0xd
mov al, byte [esi + 0x97]
mov ecx, dword [esi + 0xac]
mov byte [ecx], al
mov al, byte [esi + 0x96]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [esi + 0x95]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [esi + 0x94]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
push dword [esi + 0x94]
push dword [esi + 0x88]
push eax
call fcn.01469324
add esp, 0xc
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xac]
lea edx, [ecx + eax]
mov dword [esi + 0xac], edx
mov dl, byte [esi + 0xa3]
mov byte [ecx + eax], dl
mov al, byte [esi + 0xa2]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [esi + 0xa1]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [esi + 0xa0]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
cmp byte [edi + 0x50], 0
js 0x1439ec2
mov cl, byte [edi + 0xe7]
mov byte [eax], cl
mov al, byte [edi + 0xe6]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [edi + 0xe5]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [edi + 0xe4]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
lea ecx, [edi + 0xa4]
push dword [edi + 0xe4]
push ecx
push eax
call fcn.01469324
add esp, 0xc
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb8]
add eax, dword [edi + 0xe4]
mov dword [esi + 0xac], eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add edx, 0xfffffffb
add ecx, 5
push edx
push ecx
push eax
call fcn.01469324
add esp, 0xc
mov ecx, dword [esi + 0xb8]
mov eax, dword [esi + 0xac]
lea edx, [esp + 0x50]
mov ecx, dword [ecx]
lea eax, [eax + ecx - 5]
xor ecx, ecx
mov dword [esi + 0xac], eax
mov byte [eax], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 1], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 2], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 3], cl
lea eax, [esi + 0xa4]
mov ecx, dword [esi + 0xa8]
add ecx, 4
push edi
push 0x43c993
push eax
push edx
push ecx
push dword [esi + 0xb0]
call fcn.014636ba
add esp, 0x18
mov ebp, 0x268a
test eax, eax
mov dword [edi + 0x6d0], eax
jne 0x143c7ee
mov eax, dword [esp + 0x50]
jmp 0x143a5bb
test ecx, ecx
je 0x143c222
mov ebp, edi
mov edi, esi
xor esi, esi
inc esi
cmp dword [ecx + 8], 0x3c
jne 0x143a567
test esi, esi
mov eax, 0x40905e
mov ebx, 0x40903d
cmove ebx, eax
push ebx
push dword [ebp + 0x110]
call fcn.0145eb04
add esp, 8
lea eax, [esi*4 + 0x1c]
mov ecx, ebp
mov edx, ebx
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x402dcd
mov ecx, ebp
push 2
call fcn.0143568e
add esp, 4
mov ecx, dword [esp + 0x80]
lea ebx, [esp + 0x1c]
lea esi, [esp + 0x18]
mov edx, ebx
push esi
call fcn.01439038
add esp, 4
mov dword [esp], ebp
push dword [ebp + 0x110]
call fcn.014285a8
add esp, 4
mov ebp, edi
xor edi, edi
inc edi
mov dword [ebp + 0x3c], eax
mov dword [eax], edi
push 0x40907b
call fcn.01428572
add esp, 4
mov ecx, dword [ebp + 0x3c]
mov dword [ecx + 4], eax
mov ecx, 0x40214f
mov eax, dword [ebx]
test eax, eax
cmovne ecx, eax
push ecx
push dword [esi]
mov esi, ebp
push 0x4021c3
call fcn.0142852c
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [eax + 0x10], edi
push 0x40908c
call fcn.01428572
add esp, 4
xor ebx, ebx
push ebx
push eax
push dword [esi + 0x3c]
call fcn.0142865b
add esp, 0xc
push 0x4090c7
call fcn.01428572
add esp, 4
push ebx
push eax
push dword [esi + 0x3c]
call fcn.0142865b
add esp, 0xc
push 0x4090dc
call fcn.01428572
add esp, 4
push ebx
push eax
push dword [esi + 0x3c]
call fcn.0142865b
add esp, 0xc
jmp 0x143b15c
mov ebp, 0x294a
test ecx, ecx
jne 0x143c7ee
push eax
push ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x143b22c
test ecx, ecx
je 0x143a9be
cmp dword [ecx + 8], 6
je 0x143a3fd
push 0x408a8c
jmp 0x143a603
test ecx, ecx
je 0x143a633
push 0x407f1b
jmp 0x143a603
mov ebp, 0x2898
test ecx, ecx
jne 0x143c7ee
push eax
push ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x143a891
test ecx, ecx
je 0x143a658
cmp dword [ecx + 8], 0x3c
jne 0x143a7d5
lea eax, [esp + 0x28]
mov ebx, ecx
lea edx, [esp + 0x34]
push eax
call fcn.01439038
add esp, 4
lea eax, [esp + 0x24]
lea edx, [esp + 0x30]
mov ecx, ebx
push eax
call fcn.01439038
add esp, 4
lea eax, [esp + 0x20]
lea edx, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.01439038
add esp, 4
mov dword [esp], edi
push dword [edi + 0x110]
call fcn.014285a8
add esp, 4
mov ecx, ebx
mov dword [esi + 0x3c], eax
mov dword [eax], 1
call fcn.01439019
mov ebp, esi
test eax, eax
mov dword [esi + 0x40], eax
jle 0x143a22b
xor edi, edi
lea esi, [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov edx, esi
lea eax, [esp + 0x48]
mov ecx, ebx
push eax
call fcn.01439038
mov edx, ebx
add esp, 4
mov eax, dword [edx + 0x18]
mov ebx, 0
cmp dword [edx], eax
jle 0x143a1db
mov ecx, dword [edx + 0x14]
xor ebx, ebx
cmp byte [ecx + eax], 0
setne bl
inc eax
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x143a1e9
mov ecx, dword [esp + 0x60]
jmp 0x143a203
mov ecx, 0x41f07c
mov eax, 0x20
mov dword [esp + 0x60], 0x41f07c
mov dword [esp + 0x48], 0x20
push ecx
push eax
push 0x4021c3
call fcn.0142852c
add esp, 0xc
push ebx
push eax
mov ebx, ebp
push dword [ebx + 0x3c]
call fcn.0142865b
add esp, 0xc
inc edi
cmp edi, dword [ebx + 0x40]
jl 0x143a1a5
mov esi, dword [esp + 0x28]
test esi, esi
je 0x143a821
xor edi, edi
inc edi
push dword [esp + 0x34]
push esi
push 0x408fe1
call fcn.0142852c
add esp, 0xc
jmp 0x143a830
test ecx, ecx
je 0x143c7b2
cmp dword [ecx + 8], 0x3c
jne 0x143a7e1
push 0x408d7a
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
xor ebx, ebx
test byte [0x41d110], 1
je 0x143b321
mov edx, 0x408d46
mov ecx, edi
push 0x20
call fcn.0143568e
add esp, 4
mov ebp, dword [esi + 0x64]
push ebp
call fcn.01476c84
add esp, 4
mov ecx, edi
mov edx, ebp
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x408d97
mov ecx, edi
push 3
call fcn.0143568e
add esp, 4
jmp 0x143b321
mov ebp, 0x26f7
test ecx, ecx
jne 0x143c7ee
push eax
push ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x143b5d9
test ecx, ecx
je 0x143bded
mov eax, dword [ecx + 8]
lea edx, [eax - 0x5b]
cmp edx, 2
jae 0x143a7f4
mov ebx, ecx
call fcn.01439019
mov ecx, dword [edi + 0x128]
cmp eax, dword [ecx + 8]
jne 0x143a9ed
cmp dword [ebx + 8], 0x5c
jne 0x143ac3a
mov ecx, ebx
call fcn.0143f2d0
mov ebx, edi
mov edi, eax
push edi
push 0x40923b
call fcn.0142852c
add esp, 8
mov ecx, ebx
mov edx, eax
call fcn.014394ba
push edi
call fcn.014287a8
jmp 0x143a62b
test ecx, ecx
je 0x143a662
mov eax, dword [ecx + 8]
cmp eax, 0x63
je 0x143a96d
cmp eax, 0x64
jne 0x143a985
cmp dword [edi + 0x174], 0
je 0x143aca4
push 0x409353
jmp 0x143a603
mov eax, 0x43cf63
movd xmm0, eax
mov dword [edi + 0x288], eax
pshufd xmm0, xmm0, 0
movdqu xmmword [edi + 0x338], xmm0
mov dword [edi + 0x360], eax
mov dword [edi + 0x364], eax
mov dword [edi + 0x3b0], eax
mov dword [edi + 0x3b4], eax
mov dword [edi + 0x3b8], eax
movdqu xmmword [edi + 0x3d8], xmm0
mov dword [edi + 0x3e8], eax
mov dword [edi + 0x3ec], eax
mov dword [edi + 0x3f0], eax
mov dword [edi + 0x3f4], eax
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x2c], eax
cmp dword [edi + 0xec], eax
je 0x143a66c
lea eax, [esi + 0x34]
mov dword [eax], 1
jmp 0x143a690
test ecx, ecx
je 0x143a795
cmp dword [ecx + 8], 0x3d
jne 0x143a7ff
mov dword [esp], edi
mov edi, esi
lea esi, [esp + 0x44]
lea ebx, [esp + 0x40]
mov edx, ebx
push esi
call fcn.01439038
add esp, 4
mov eax, dword [ebx]
mov dword [edi + 0xd4], eax
mov eax, dword [esi]
mov esi, edi
mov edi, dword [esp]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xe4]
cmp eax, 1
jne 0x143aa8f
lea eax, [esi + 0xe4]
lea ecx, [esi + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esi + 0xc0]
lea edi, [esi + 0xd8]
lea ebp, [esi + 0xd0]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x14], eax
push 0x28
mov ebx, dword [esp + 4]
push dword [ebx + 0x248]
call fcn.01426937
add esp, 8
mov dword [esp + 0x10], edi
push edi
push ebp
push eax
push dword [esi + 0xe0]
push dword [esp + 0x18]
push dword [esi + 0xc0]
call dword [esp + 0x2c]
mov edi, ebx
add esp, 0x18
mov dword [esi + 0xe4], eax
cmp eax, 2
mov eax, dword [edi + 0x110]
jae 0x143aa3b
push 0x408f3d
push eax
call fcn.0145eb04
add esp, 8
mov ebp, dword [esp + 0x10]
cmp dword [ebp], 0
je 0x143a54e
mov ecx, 0x3d
call fcn.01434028
mov ebx, eax
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edx, dword [ebx]
add edx, 4
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xdc]
push dword [esi + 0xd8]
call fcn.0143597e
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
mov eax, dword [esi + 0xc0]
push ebp
push eax
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 4]
mov ebp, 0x27fb
mov eax, dword [eax]
cmp eax, 1
jne 0x143aa8f
jmp 0x143c7ee
mov dword [edi + 0xc], 1
mov esi, dword [edi + 0x48]
push esi
call fcn.01476c84
add esp, 4
push eax
push esi
mov esi, edi
call fcn.01460482
add esp, 8
push dword [esi + 0x48]
call fcn.014287a8
add esp, 4
mov edi, ebp
jmp 0x143bb8d
mov ebp, 0x268a
test eax, eax
jg 0x143c7ee
mov eax, dword [edi + 0x254]
mov dword [esp + 0x50], eax
mov ecx, dword [edi + 0x258]
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xb4], eax
push dword [esi + 0xb0]
call fcn.014287a8
add esp, 4
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x143a7bd
mov ecx, dword [esi + 0xa4]
cmp ecx, 9
jl 0x143a5fe
cmp byte [eax + 4], 0xe
jne 0x143a5fe
mov eax, dword [eax + 5]
add ecx, 0xfffffff7
bswap eax
cmp eax, ecx
jbe 0x143af15
push 0x4080d4
call fcn.0142852c
add esp, 4
jmp 0x143b6ed
mov ecx, dword [edi + 0x128]
mov ebp, 0x2ab1
test ecx, ecx
je 0x143c7ee
mov edx, ebx
push eax
call fcn.0143375e
add esp, 4
jmp 0x143c7ee
mov ebp, 0x24cd
test eax, eax
jg 0x143c7ee
mov ebx, dword [edi + 0x254]
mov dword [esp + 0x5c], ebx
mov eax, dword [edi + 0x258]
mov dword [esi + 0x78], eax
jmp 0x143ae35
mov ebp, 0x28be
jmp 0x143c7ee
mov ebp, 0x2a84
jmp 0x143c7ee
push 0x23
push dword [edi + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143aa08
lea eax, [esi + 8]
cmp dword [eax], 0
je 0x143a995
lea eax, [edi + 0x178]
push eax
call fcn.01428d1e
add esp, 4
xor eax, eax
mov dword [edi + 0x344], 0x43cf78
mov dword [esi + 0x50], eax
cmp dword [esi + 0x34], eax
je 0x143a6c5
mov dword [esi + 0x4c], 0
lea ebp, [esi + 0x34]
mov ecx, dword [esi + 0x34]
jmp 0x143b6fd
push 0x20
push dword [edi + 0x248]
call fcn.01426d97
add esp, 8
mov dword [esi + 0xbc], eax
push eax
call fcn.01460440
add esp, 4
test eax, eax
jne 0x143adb0
push dword [esi + 0xbc]
call fcn.01460439
add esp, 4
push eax
push 0x407e32
push edi
call fcn.014331f6
add esp, 0xc
push dword [esi + 0xbc]
call fcn.01454c65
add esp, 4
mov ebx, eax
cmp ebx, 0xa
ja 0x143ad48
mov eax, 0x608
bt eax, ebx
jae 0x143ad48
mov ebp, edi
lea eax, [esi + 0x64]
lea ecx, [esi + 0x54]
lea edx, [esi + 0x60]
mov edi, esi
lea esi, [esp + 0x60]
push esi
mov esi, edi
push eax
push ecx
push edx
push dword [esi + 0xbc]
call fcn.01454535
add esp, 0x14
test eax, eax
mov dword [esi + 0x50], eax
je 0x143acee
xor eax, eax
cmp ebx, 3
mov edi, ebp
sete al
mov dword [esi + 0x58], eax
je 0x143a77d
push 0x407e4c
push edi
call fcn.014331f6
add esp, 8
push 0
push dword [esi + 0xbc]
call fcn.014549e3
add esp, 8
mov dword [esi + 0x5c], eax
jmp 0x143adb0
mov ebp, 0x27fb
jmp 0x143c7ee
push 0x408e41
push dword [edi + 0x110]
call fcn.0145eb04
jmp 0x143aab8
lea eax, [esi + 0xc]
mov dword [eax], 1
cmp dword [esi + 0x7c], 0
je 0x143a9c8
xor eax, eax
inc eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
jmp 0x143bb8d
mov dword [esi + 0xc], 1
jmp 0x143bb8d
mov dword [esi + 0xc], 1
mov dword [esi + 4], 2
jmp 0x143bb8d
push eax
push 0x4091b2
jmp 0x143a98b
push 0x408f5f
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esi + 0xe4], 4
jmp 0x143aa93
xor edi, edi
push 0x408ff2
call fcn.01428572
add esp, 4
mov ecx, dword [ebp + 0x3c]
mov dword [ecx + 4], eax
mov ecx, 0
mov eax, dword [ebp + 0x3c]
mov dword [eax + 8], edi
xor edi, edi
or esi, dword [ebp + 0x40]
mov eax, dword [esp + 0x24]
or esi, eax
mov esi, ebp
je 0x143a87b
mov ecx, 0x40407b
test eax, eax
mov edx, 0x40214f
cmovne edx, ecx
push dword [esp + 0x30]
push eax
push edx
push 0x40900c
call fcn.0142852c
add esp, 0x10
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0xc], eax
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x3c]
mov dword [eax + 0x10], ecx
push edi
push edi
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp]
test eax, eax
js 0x143a93a
je 0x143a94e
mov ecx, 0x3d
mov dword [esp], edi
call fcn.01434028
mov edi, eax
mov dword [esi + 0xb8], edi
mov ecx, edi
mov ebx, dword [esi + 0x40]
mov eax, ebx
mov ebp, ebx
shr eax, 0x18
shr ebp, 0x10
mov dword [esp + 4], eax
mov edx, dword [edi]
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 4]
mov edi, esi
mov byte [ecx + eax - 4], dl
mov edx, ebp
mov byte [ecx + eax - 3], dl
mov byte [ecx + eax - 2], bh
mov byte [ecx + eax - 1], bl
cmp dword [esi + 0x40], 0
jle 0x143a915
xor esi, esi
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0xb8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 8]
call fcn.0143425f
inc esi
cmp esi, dword [edi + 0x40]
jl 0x143a8f8
mov edx, dword [edi + 0xb8]
mov ecx, dword [esp]
call fcn.0143f123
push dword [edi + 0x3c]
call fcn.014287e2
add esp, 4
mov ebp, 0x28be
mov esi, edi
jmp 0x143c7ee
mov dword [edi + 0x100], 1
mov ebp, 0x2898
jmp 0x143c7ee
push dword [esi + 0x3c]
call fcn.014287e2
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x4081e0
jmp 0x143c53e
push 0x40937b
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
jmp 0x143b8bd
push eax
push 0x4092ea
call fcn.0142852c
add esp, 8
jmp 0x143a9fa
mov ecx, 5
call fcn.01434028
mov edx, 0x408a7d
mov ecx, eax
mov dword [esi + 0xb8], eax
call fcn.0143425f
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
mov ebp, 0x246e
jmp 0x143c7ee
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
cmp eax, dword [esi + 0x84]
jl 0x143bb8d
mov dword [esi + 0x24], 1
jmp 0x143bb8d
push 0x4091f9
call fcn.0142852c
add esp, 4
mov ecx, edi
mov edx, eax
call fcn.014394ba
jmp 0x143c7ee
mov ecx, 5
call fcn.01434028
mov edx, 0x408a70
mov ecx, eax
mov dword [esi + 0xb8], eax
call fcn.0143425f
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
mov ebp, 0x2463
jmp 0x143c7ee
push 0x408f11
push eax
call fcn.0145eb04
add esp, 8
mov ecx, dword [esi + 0xc0]
lea eax, [esi + 0xc8]
push eax
push dword [esi + 0xc4]
push ecx
call dword [ecx + 0x2c]
add esp, 0xc
test eax, eax
jne 0x143aa89
push dword [esi + 0xcc]
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
push dword [esi + 0xcc]
call fcn.014287a8
add esp, 4
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
je 0x143aac0
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xe0]
push ecx
push eax
call dword [eax + 0x10]
add esp, 8
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xc4]
push ecx
push eax
call dword [eax + 0x20]
add esp, 8
jmp 0x143bb8d
push 0x408f8b
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
xor ecx, ecx
call fcn.01434028
mov ebx, eax
mov ebp, edi
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edi, dword [ebx]
lea edx, [edi + 4]
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov dword [ecx + eax - 4], edx
lea edx, [ebp + 0xa4]
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0xb8]
push dword [ebp + 0xe4]
call fcn.0143597e
add esp, 4
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
inc edx
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov byte [ecx + eax - 1], 0x32
mov edx, dword [ebp + 0x250]
mov ecx, dword [esi + 0xb8]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d36
call fcn.0143425f
mov eax, dword [esi + 0xb8]
mov ebx, esi
mov ecx, dword [esi + 0xc0]
lea esi, [ebx + 0xc8]
mov edx, dword [eax + 0x10]
add edx, edi
mov dword [ebx + 0xcc], edx
mov eax, dword [eax]
sub eax, edi
lea edi, [esp + 0x38]
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0xc4]
mov dword [esp + 4], eax
push edi
push esi
mov esi, ebx
push dword [esi + 0xc4]
push ecx
call dword [ecx + 0x24]
add esp, 0x10
mov ecx, 0x42
call fcn.01434028
mov ebx, eax
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edx, dword [ebx]
add edx, 4
mov dword [ebx], edx
call fcn.01438fd5
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov dword [ecx + eax - 4], edx
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0xb8]
push dword [edi]
call fcn.0143597e
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebp
call fcn.0143407b
mov eax, dword [esi + 0xc0]
push edi
push eax
call dword [eax + 0x28]
add esp, 8
xor eax, eax
lea ecx, [esi + 0xe0]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc0]
push ecx
push eax
call dword [eax + 0x10]
add esp, 8
mov eax, dword [esi + 0xc0]
push dword [esp + 4]
mov edi, ebp
push eax
jmp 0x143aab5
mov ecx, ebx
call fcn.01439019
mov ecx, dword [edi + 0x128]
mov dword [ecx + 4], eax
xor ecx, ecx
mov eax, dword [edi + 0x128]
mov dword [eax + 0x10], ecx
mov eax, dword [edi + 0x128]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call fcn.01439019
mov ecx, dword [edi + 0x128]
mov dword [ecx + 0x2c], eax
mov ecx, ebx
call fcn.01439019
mov ecx, dword [edi + 0x128]
mov dword [ecx + 0x30], eax
push dword [edi + 0x110]
call fcn.0142c0f0
add esp, 4
push 0x409263
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
jmp 0x143b7ae
push 0x15
push dword [edi + 0x248]
call fcn.01426a74
add esp, 8
cmp byte [eax], 0
je 0x143a37c
mov ebp, esi
mov esi, edi
lea edi, [esi + 0x248]
push 0x409327
push dword [esi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esp], esi
mov dword [esi + 0x174], 1
xor eax, eax
jmp 0x143be75
push dword [esp + 0x60]
push 0x407e6e
push ebp
call fcn.014331f6
add esp, 0xc
mov esi, dword [esp + 0x60]
push dword [edi + 0xbc]
call fcn.01460439
add esp, 4
push esi
mov esi, edi
mov edi, ebp
push eax
push 0x407e86
call fcn.0142852c
add esp, 0xc
mov ebx, eax
push ebx
call fcn.01476c84
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.0143568e
add esp, 4
push ebx
call fcn.014287a8
add esp, 4
jmp 0x143adb0
push ebx
call fcn.01454c9b
add esp, 4
push eax
push 0x407eae
push edi
call fcn.014331f6
add esp, 0xc
push ebx
call fcn.01454c9b
add esp, 4
mov ebx, eax
push dword [esi + 0xbc]
call fcn.01460439
add esp, 4
push ebx
push eax
push 0x407ecf
call fcn.0142852c
add esp, 0xc
mov ebx, eax
push ebx
call fcn.01476c84
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.0143568e
add esp, 4
push ebx
call fcn.014287a8
add esp, 4
mov dword [esi + 0x50], 0
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x7c], eax
push 0x1c
push dword [edi + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143a6b3
call fcn.01463680
test eax, eax
je 0x143a6b3
push 0x407ef6
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esi + 0x68], 0x1000000
lea eax, [esi + 0x68]
mov byte [esi + 0x6c], 0xb
lea ecx, [esi + 0x78]
lea edx, [esp + 0x5c]
push edi
push 0x43c993
push ecx
push edx
push 5
push eax
call fcn.014636ba
add esp, 0x18
mov ebp, 0x24cd
test eax, eax
mov dword [edi + 0x6d0], eax
jne 0x143c7ee
mov ebx, dword [esp + 0x5c]
lea eax, [esi + 0x70]
test ebx, ebx
mov dword [eax], ebx
je 0x143aefd
cmp dword [esi + 0x78], 5
jl 0x143aefd
cmp byte [ebx + 4], 0xc
jne 0x143aefd
mov eax, dword [ebx + 5]
bswap eax
push eax
call fcn.01428920
add esp, 4
test eax, eax
mov dword [esi + 0x84], eax
js 0x143afb7
add ebx, 9
test eax, eax
mov dword [esp], edi
mov dword [esp + 8], ebx
je 0x143afcb
mov edi, dword [esi + 0x78]
xor edx, edx
mov ecx, ebx
add edi, 0xfffffff7
cmp edi, 3
jle 0x143b0c1
mov dword [esp + 4], edx
mov ebp, ecx
mov eax, dword [ecx]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov ebx, eax
test ebx, ebx
js 0x143b0cd
add edi, 0xfffffffc
sub edi, ebx
jl 0x143b0cd
mov eax, dword [ebp + ebx + 4]
bswap eax
push eax
call fcn.01428920
add esp, 4
test eax, eax
js 0x143b0d9
add edi, 0xfffffffc
sub edi, eax
jl 0x143b0d9
lea ecx, [ebp + ebx + 4]
mov edx, dword [esp + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [esi + 0x84]
inc edx
cmp edx, eax
jl 0x143ae8e
jmp 0x143afcd
push 0x408139
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
jmp 0x143a6b3
push 0x408050
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0xb4]
mov ecx, edi
mov edi, esi
mov edx, dword [edi + 0xb8]
mov esi, dword [eax + 5]
add eax, 9
bswap esi
push esi
mov esi, edi
mov edi, ecx
push eax
push dword [esi + 0x94]
push dword [esi + 0x88]
call fcn.0143ef77
add esp, 0x10
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
lea eax, [esi + 4]
jmp 0x143a7b7
mov eax, dword [esi + 0xc0]
mov ebx, esi
lea esi, [ebx + 0xe0]
push esi
mov ebp, dword [esp + 4]
push dword [ebp + 0x6a4]
push eax
call dword [eax + 0xc]
add esp, 0xc
test eax, eax
mov dword [ebx + 0xe4], eax
je 0x143b05d
cmp eax, 3
mov eax, dword [ebp + 0x110]
jne 0x143b0a9
push 0x408e9a
push eax
jmp 0x143b0af
push eax
push 0x408aab
push edi
call fcn.014331f6
add esp, 0xc
jmp 0x143b14d
xor eax, eax
push eax
push 0x408afd
mov edi, dword [esp + 8]
push edi
call fcn.014331f6
add esp, 0xc
cmp dword [esi + 0x50], 0
je 0x143a6b3
cmp dword [esi + 0x84], 0
mov ebp, dword [esp + 8]
jle 0x143b12d
xor edi, edi
mov dword [esp + 0xc], esi
mov eax, dword [ebp]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov ebx, eax
mov dword [esi + 0x94], ebx
cmp ebx, dword [esi + 0x54]
jne 0x143b034
lea eax, [ebp + 4]
push ebx
push dword [esi + 0x50]
push eax
call fcn.01467ba1
add esp, 0xc
test eax, eax
je 0x143b112
mov eax, dword [ebp + ebx + 4]
mov esi, ebx
add esi, ebp
bswap eax
push eax
call fcn.01428920
add esp, 4
lea ebp, [eax + esi + 8]
mov esi, dword [esp + 0xc]
inc edi
cmp edi, dword [esi + 0x84]
jl 0x143b001
jmp 0x143b12d
mov eax, dword [edi + 0xc0]
lea ebx, [edi + 0xc4]
push ebx
push eax
call dword [eax + 0x1c]
add esp, 8
test eax, eax
mov dword [edi + 0xe4], eax
je 0x143b0ea
push 0x408ee1
mov ebx, dword [esp + 4]
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [edi + 0xc0]
push esi
push eax
call dword [eax + 0x10]
add esp, 8
mov esi, edi
mov edi, ebx
jmp 0x143bb8d
push 0x408ec7
push eax
call fcn.0145eb04
add esp, 8
mov esi, edi
mov edi, dword [esp]
jmp 0x143bb8d
push 0x408ade
mov edi, dword [esp + 4]
push edi
jmp 0x143b0e3
push 0x408ade
mov edi, dword [esp + 4]
push edi
jmp 0x143b0e3
push 0x408ade
mov edi, dword [esp + 4]
push edi
call fcn.014331f6
jmp 0x143b14a
lea ecx, [edi + 0xe4]
mov esi, edi
lea eax, [edi + 0xd0]
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esp + 8], ebx
jmp 0x143a46d
push edi
push 0x407fbf
push dword [esp + 8]
call fcn.014331f6
add esp, 0xc
mov dword [esi + 0x80], edi
mov dword [esi + 0x7c], ebp
cmp dword [esi + 0x7c], 0
mov edi, dword [esp]
jne 0x143a6b3
push 0x408116
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esi + 0x84], 0
jmp 0x143a6b3
test ebx, ebx
je 0x143b21a
mov ecx, 0x32
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov ebx, dword [esp]
mov edx, dword [ebx + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x406594
call fcn.0143425f
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 1
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0xb8]
call fcn.0143425f
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0xb8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
call fcn.0143425f
push dword [esi + 0x3c]
call fcn.014287e2
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.0143f123
push 0x40910c
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov ebp, 0x298d
jmp 0x143c7ee
xor eax, eax
push eax
push eax
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp]
test eax, eax
js 0x143b2c9
mov eax, dword [esi + 0x3c]
je 0x143b2dd
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp byte [ecx], 0
je 0x143b28f
mov ebx, edi
mov edi, esi
mov esi, dword [edi + 0x48]
push esi
call fcn.01476c84
add esp, 4
push eax
push esi
mov esi, edi
mov edi, ebx
call fcn.01460482
add esp, 8
push dword [esi + 0x48]
call fcn.014287a8
add esp, 4
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
push dword [eax + 8]
push dword [ecx + 8]
call fcn.01476954
add esp, 8
xor ebx, ebx
test eax, eax
mov dword [esp], edi
sete bl
je 0x143b15c
mov edx, 0x4090f3
mov ecx, edi
push 0x18
call fcn.0143568e
add esp, 4
jmp 0x143b15c
mov dword [edi + 0x100], 1
mov ebp, 0x294a
jmp 0x143c7ee
push eax
call fcn.014287e2
add esp, 4
mov ebx, edi
mov edi, esi
mov esi, dword [edi + 0x48]
push esi
call fcn.01476c84
add esp, 4
push eax
push esi
mov esi, edi
call fcn.01460482
add esp, 8
push dword [esi + 0x48]
call fcn.014287a8
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, ebx
push 1
push 0xd
push 0x4081e0
jmp 0x143c53e
test ebx, ebx
je 0x143b575
mov ecx, 0x32
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d17
call fcn.0143425f
mov ebp, dword [esi + 0xb8]
mov edx, dword [ebp]
mov ecx, ebp
inc edx
mov dword [ebp], edx
call fcn.01438fd5
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x10]
mov byte [ecx + eax - 1], 1
mov eax, dword [ebx]
mov ecx, dword [esi + 0xb8]
mov edx, dword [eax + 0x30]
call fcn.0143425f
mov eax, dword [ebx]
mov dword [esp + 0xc], esi
lea esi, [esp + 0x60]
push esi
mov dword [esp + 8], ebx
push dword [ebx + 4]
call dword [eax + 0xc]
add esp, 8
mov ecx, dword [esp + 0xc]
mov ebx, eax
mov ebp, dword [ecx + 0xb8]
mov edx, dword [ebp]
mov ecx, ebp
add edx, 4
mov dword [ebp], edx
call fcn.01438fd5
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x10]
mov edx, ebx
mov dword [ecx + eax - 4], 0
mov eax, dword [ebp]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xb8]
mov dword [esp + 8], ebx
push dword [esi]
call fcn.0143597e
add esp, 4
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov ecx, dword [edi + 0xe4]
cmp byte [edi + 0x50], bl
mov eax, dword [eax + 0xb8]
mov eax, dword [eax]
lea edx, [eax + ecx - 1]
lea esi, [eax + ecx - 5]
cmovns esi, edx
xor eax, eax
inc eax
push eax
push esi
call fcn.014285db
add esp, 8
cmp byte [edi + 0x50], bl
mov ebp, eax
js 0x143b456
mov al, byte [edi + 0xe7]
mov ebx, 4
mov byte [ebp], al
mov al, byte [edi + 0xe6]
mov byte [ebp + 1], al
mov al, byte [edi + 0xe5]
mov byte [ebp + 2], al
mov al, byte [edi + 0xe4]
mov byte [ebp + 3], al
lea eax, [ebp + ebx]
lea ecx, [edi + 0xa4]
push dword [edi + 0xe4]
push ecx
push eax
call fcn.01469324
add esp, 0xc
mov dword [esp], edi
mov eax, ebp
add ebx, dword [edi + 0xe4]
mov edi, ebp
mov ebp, dword [esp + 0xc]
mov ecx, dword [ebp + 0xb8]
add eax, ebx
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add edx, 0xfffffffb
add ecx, 5
push edx
push ecx
push eax
call fcn.01469324
add esp, 0xc
mov eax, dword [ebp + 0xb8]
mov eax, dword [eax]
lea eax, [eax + ebx - 5]
cmp eax, esi
je 0x143b4c6
push 0x2757
push 0x406132
push 0x408dd0
call fcn.01474209
add esp, 0xc
mov ebp, dword [esp + 4]
lea ebx, [esp + 0x48]
mov eax, dword [ebp]
push ebx
push esi
mov dword [esp + 0x1c], edi
push edi
push dword [ebp + 4]
call dword [eax + 0x2c]
add esp, 0x10
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov edi, dword [esp]
mov edx, dword [esi + 0xb8]
mov ecx, edi
push dword [ebx]
push eax
push dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
push ebx
call fcn.0143ef77
add esp, 0x10
push ebx
call fcn.014287a8
add esp, 4
push dword [esp + 0x10]
call fcn.014287a8
add esp, 4
push dword [esp + 0x14]
call fcn.014287a8
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
push 0x408df2
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esi + 4], 1
mov eax, dword [ebp]
push dword [ebp + 4]
call dword [eax + 4]
add esp, 4
push dword [ebp + 8]
call fcn.014287a8
add esp, 4
push ebp
call fcn.014287a8
add esp, 4
jmp 0x143bb8d
cmp dword [esi + 0x5c], 0
je 0x143b632
push dword [edi + 0x110]
call fcn.014285a8
add esp, 4
mov ebx, edi
mov dword [esi + 0x3c], eax
mov edi, esi
xor esi, esi
mov dword [eax], esi
push 0x4081af
call fcn.01428572
add esp, 4
mov ecx, dword [edi + 0x3c]
mov dword [ecx + 4], eax
push dword [edi + 0x64]
push 0x4081c2
call fcn.0142852c
add esp, 8
push esi
push eax
push dword [edi + 0x3c]
call fcn.0142865b
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
test eax, eax
js 0x143b601
mov eax, dword [esi + 0x3c]
je 0x143b615
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
mov ebp, eax
push dword [esi + 0x3c]
call fcn.014287e2
add esp, 4
jmp 0x143b634
mov dword [edi + 0x100], 1
mov ebp, 0x26f7
jmp 0x143c7ee
push eax
call fcn.014287e2
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x4081e0
jmp 0x143c53e
xor ebp, ebp
push 0x20
push dword [edi + 0x248]
call fcn.01426d97
add esp, 8
lea ecx, [esp + 0x4c]
mov dword [esi + 0xbc], eax
push ecx
push ebp
push eax
call fcn.01453579
add esp, 0xc
mov ebx, eax
test ebp, ebp
je 0x143b67b
push ebp
call fcn.01476c84
add esp, 4
push eax
push ebp
call fcn.01460482
add esp, 8
push ebp
call fcn.014287a8
add esp, 4
cmp ebx, 0x41d2a0
je 0x143b68b
test ebx, ebx
jne 0x143b321
test ebp, ebp
je 0x143b6af
cmp ebx, 0x41d2a0
jne 0x143b6af
mov edx, 0x408d9b
mov ecx, edi
push 0x12
call fcn.0143568e
add esp, 4
xor ebx, ebx
jmp 0x143b321
mov edx, 0x408dae
mov ecx, edi
push 0x1c
call fcn.0143568e
add esp, 4
mov ebx, dword [esp + 0x4c]
push ebx
call fcn.01476c84
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x408dcb
mov ecx, edi
push 3
call fcn.0143568e
jmp 0x143b56d
mov ecx, edi
mov edx, eax
call fcn.014394ba
xor ebp, ebp
jmp 0x143c7ee
test ecx, ecx
je 0x143b92a
xor eax, eax
mov dword [edi + 0x344], eax
cmp dword [esi + 0x50], eax
je 0x143b733
push dword [esi + 0x60]
call fcn.014287a8
add esp, 4
push dword [esi + 0x50]
call fcn.014287a8
add esp, 4
push dword [esi + 0x64]
call fcn.014287a8
add esp, 4
mov eax, dword [esi + 0x70]
test eax, eax
je 0x143b743
push eax
call fcn.014287a8
add esp, 4
cmp dword [esi + 0x38], 0
je 0x143b765
cmp dword [edi + 0xec], 0
jne 0x143b765
mov edx, 0x409160
mov ecx, edi
push 0
push 0xfffffffffffffffe
call fcn.014364ca
add esp, 8
push 0x43d268
call fcn.0145d400
add esp, 4
mov dword [edi + 0x124], eax
mov dword [edi + 0x3e4], 0x43d284
mov dword [edi + 0x3b0], 0x43d2ef
push 0x2d
push dword [edi + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143b9b8
mov dword [edi + 0x128], 0
mov eax, 0x43d51f
movd xmm0, eax
mov eax, 0x43d4fa
movd xmm1, eax
mov eax, 0x43d3d9
punpckldq xmm1, xmm0
movd xmm0, eax
mov eax, 0x43e0f5
pshufd xmm0, xmm0, 0x50
punpcklqdq xmm0, xmm1
movdqu xmmword [edi + 0x3e8], xmm0
mov dword [edi + 0x3dc], 0x43d5ef
mov dword [edi + 0x3e0], 0x43d6b7
mov dword [edi + 0x3f8], 0x43d760
mov dword [edi + 0x3d8], 0x43dbd6
mov dword [edi + 0x3fc], eax
mov dword [edi + 0x400], eax
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x143b82d
push dword [edi + 8]
push eax
call fcn.0145a16c
add esp, 8
mov ebp, edi
cmp dword [ebp + 0x128], 0
lea edi, [ebp + 0x248]
je 0x143b889
push 0xa9
push dword [edi]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143b889
cmp dword [ebp + 0xec], 0
jne 0x143b889
cmp dword [ebp + 0xf4], 0
jne 0x143b889
mov ecx, dword [ebp + 0x128]
xor eax, eax
mov edx, 0x409277
push eax
push eax
call fcn.014400c7
add esp, 8
mov ecx, ebp
mov edx, eax
mov dword [esi + 0xb8], eax
call fcn.0143407b
mov edx, dword [ebp + 0x248]
mov ecx, ebp
call fcn.014401bf
cmp dword [ebp + 0x128], 0
je 0x143b8ac
cmp dword [ebp + 0x12c], 0
je 0x143bd16
xor eax, eax
mov edi, ebp
inc eax
mov dword [ebp + 0x104], eax
mov dword [ebp + 0x108], eax
mov dword [edi + 0x144], 3
cmp dword [edi + 0x148], 0
je 0x143b8e5
push dword [edi + 0x120]
push dword [edi + 0x11c]
push edi
call fcn.01434db1
add esp, 0xc
cmp dword [edi + 0x14c], 0
je 0x143b8f9
push 0xc
push edi
call fcn.01434f07
add esp, 8
mov eax, dword [edi + 0x14]
test eax, eax
je 0x143b909
push eax
call fcn.0142c0f0
add esp, 4
cmp dword [edi + 0x128], 0
mov ebp, 0x2ab1
je 0x143c7ee
mov dword [edi + 0x100], 1
jmp 0x143c7ee
cmp dword [esi + 0x4c], 0
mov ebx, edi
lea edi, [esi + 0x4c]
je 0x143b94d
push 0x1e
push dword [ebx + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143bda0
push dword [ebx + 0x248]
call fcn.0142fb83
add esp, 4
test eax, eax
mov dword [ebx + 0x250], eax
je 0x143ba33
test byte [0x41d110], 5
lea ecx, [ebx + 0x250]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
je 0x143b9af
push eax
push 0x408b17
call fcn.0142852c
add esp, 8
mov ebp, eax
push ebp
call fcn.01476c84
add esp, 4
mov ecx, ebx
mov edx, ebp
push eax
call fcn.0143568e
add esp, 4
push ebp
call fcn.014287a8
add esp, 4
mov ebp, dword [esp + 8]
jmp 0x143bacf
push 0x5c
push 1
call fcn.014285db
add esp, 8
mov dword [edi + 0x128], eax
mov dword [eax], edi
mov ecx, dword [edi + 0x128]
call fcn.01433da2
push 0x2e
push dword [edi + 0x248]
call fcn.01426a74
add esp, 8
cmp byte [eax], 0
je 0x143bdaf
push 0x2f
push dword [edi + 0x248]
call fcn.01426937
add esp, 8
mov ebx, edi
mov edi, eax
push 0x2e
push dword [ebx + 0x248]
call fcn.01426a74
add esp, 8
push 0x40917d
push edi
mov edi, ebx
push eax
push dword [edi + 0x128]
call fcn.0143408d
add esp, 0x10
xor eax, eax
inc eax
jmp 0x143bde7
push dword [ebx + 0x110]
call fcn.014285a8
add esp, 4
mov dword [esi + 0x3c], eax
mov edi, esi
xor esi, esi
inc esi
mov dword [eax], esi
push 0x407df0
call fcn.01428572
add esp, 4
mov ecx, dword [edi + 0x3c]
mov dword [ecx + 4], eax
push 0x407dff
call fcn.01428572
add esp, 4
push esi
mov esi, edi
push eax
push dword [esi + 0x3c]
call fcn.0142865b
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
mov edi, ebx
test eax, eax
js 0x143bb4e
mov eax, dword [esi + 0x3c]
je 0x143bb62
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
lea ebp, [edi + 0x250]
mov dword [edi + 0x250], eax
push dword [esi + 0x3c]
call fcn.014287e2
add esp, 4
lea eax, [esi + 0x34]
mov ebx, edi
lea edi, [esi + 0x4c]
mov dword [esp + 4], eax
mov dword [edi], 1
xor edi, edi
mov ecx, 0x32
mov dword [ebx + 0x188], edi
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebp]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x407adf
call fcn.0143425f
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.0143407b
mov dword [esi + 4], edi
mov dword [esi + 0xc], edi
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x24], edi
mov edi, ebx
mov eax, dword [esi + 0x70]
test eax, eax
je 0x143bb8d
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x143bb7d
mov dword [esi + 0x74], ecx
jmp 0x143bb8d
mov dword [edi + 0x100], 1
mov ebp, 0x2555
jmp 0x143c7ee
push eax
call fcn.014287e2
add esp, 4
xor ebp, ebp
mov edx, 0x407e0a
mov ecx, edi
push 1
push ebp
push ebp
jmp 0x143c53e
add eax, 9
mov dword [esi + 0x74], eax
mov dword [esi + 0x80], 0
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
cmp dword [esi + 0xc], eax
je 0x1439bf3
mov dword [esp], edi
lea edi, [edi + 0x178]
push edi
call fcn.01428d51
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x143bc0e
test byte [0x41d110], 5
je 0x143bc0e
push 1
push ebx
call fcn.014285db
add esp, 8
mov ebp, eax
push ebx
push ebp
push edi
call fcn.01428e87
add esp, 0xc
test byte [0x41d110], 2
jne 0x143bbf8
push ebx
push ebp
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0142c38d
add esp, 0xc
jmp 0x143bc05
xor ecx, ecx
mov edx, ebp
push ebx
call fcn.014356b5
add esp, 4
push ebp
call fcn.014287a8
add esp, 4
push edi
call fcn.01428d2d
add esp, 4
mov ecx, dword [esp + 0x80]
mov edi, dword [esp]
mov eax, dword [ecx + 8]
cmp eax, 0x33
je 0x143bc60
cmp eax, 0x34
jne 0x143bc56
push 0x408b2e
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
xor ecx, ecx
mov dword [esi + 0x38], 1
inc ecx
lea ebp, [esi + 0x34]
mov dword [esi + 0x34], ecx
jmp 0x143b6fd
cmp dword [esi + 4], 5
jne 0x143bd03
mov dword [esi + 0xc], 0
cmp dword [ecx + 8], 0x33
jne 0x143bcc3
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x54]
lea edx, [esp + 0x58]
push eax
call fcn.01439038
mov edx, dword [esp + 0x84]
add esp, 4
mov eax, dword [edx + 0x18]
cmp dword [edx], eax
jle 0x143bccf
mov ecx, dword [edx + 0x14]
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
mov dword [edx + 0x18], eax
je 0x143bccf
mov edx, 0x408cd5
mov ecx, edi
push 0x21
call fcn.0143568e
add esp, 4
push 0x408cf7
push dword [edi + 0x110]
jmp 0x143bfcb
lea eax, [esi + 0x14]
xor ebp, ebp
xor edi, edi
jmp 0x143c097
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x143bf25
jmp dword [eax*4 + 0x40adf8]
push eax
push 0x408b3d
call fcn.0142852c
add esp, 8
jmp 0x143b6ed
push 0x95
push dword [edi]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143be0c
mov ebx, esi
mov esi, dword [ebp + 0x248]
push 0x96
push esi
call fcn.01426a74
add esp, 8
push esi
push eax
call fcn.01465e04
add esp, 8
test eax, eax
mov dword [ebp + 0x18c], eax
je 0x143bdf7
push 0x97
push dword [ebp + 0x248]
call fcn.01426937
add esp, 8
push eax
push dword [ebp + 0x194]
call fcn.01465b40
add esp, 8
mov dword [ebp + 0x190], eax
mov ecx, dword [ebp + 0x18c]
mov dword [eax + 0x1c], ecx
xor eax, eax
push eax
push eax
push dword [ebp + 0x128]
call fcn.01440af6
add esp, 0xc
jmp 0x143be0a
mov dword [esp + 4], ebp
lea ebp, [ebx + 0x250]
jmp 0x143bacf
mov ecx, dword [edi + 0x128]
mov edx, 0x40918a
call fcn.014341ac
mov dword [esi + 0xb8], eax
push 0x409192
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
xor eax, eax
mov dword [edi + 0x12c], eax
mov ebp, 0x29f7
jmp 0x143c7ee
push 0x40929a
push dword [ebp + 0x110]
call fcn.0145eb04
add esp, 8
mov esi, ebx
push ebp
call fcn.014339e9
add esp, 4
test eax, eax
je 0x143be2b
xor eax, eax
push eax
push eax
push dword [ebp + 0x128]
call fcn.01440c3e
add esp, 0xc
mov dword [esp], ebp
mov ebp, esi
push 0x16
push dword [edi]
call fcn.01426937
add esp, 8
test eax, eax
jne 0x143be56
xor eax, eax
push eax
push eax
mov eax, dword [esp + 8]
push dword [eax + 0x128]
call fcn.01440cf9
add esp, 0xc
xor esi, esi
push esi
push esi
mov ebx, dword [esp + 8]
push dword [ebx + 0x128]
call fcn.01440fd1
add esp, 0xc
cmp dword [ebx + 0x174], esi
sete al
movzx eax, al
mov ecx, 0x2c
mov esi, 0x15
sub ecx, eax
sub esi, eax
push ecx
push dword [edi]
call fcn.01426937
add esp, 8
mov ebx, eax
push esi
push dword [edi]
call fcn.01426a74
add esp, 8
mov edi, eax
test ebx, ebx
je 0x143bee3
mov dword [esp + 4], edi
mov edi, dword [esp]
mov edx, 0x4092d5
mov ecx, dword [edi + 0x128]
push 0
push 0x43f1e4
call fcn.014400c7
add esp, 8
mov dword [ebp + 0xb8], eax
mov ecx, eax
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov edx, dword [esp + 4]
call fcn.0143425f
jmp 0x143c7de
mov eax, dword [esp]
cmp byte [edi], 0
mov ecx, dword [eax + 0x128]
je 0x143c7b9
mov edx, 0x4092df
push 0
push 0x43f1e4
call fcn.014400c7
add esp, 8
mov ecx, eax
mov edx, edi
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov dword [ebp + 0xb8], eax
call fcn.0143425f
jmp 0x143c7db
push 0x25f4
push 0x406132
push 0x408c7a
call fcn.01474209
add esp, 0xc
push 0x408cb6
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov ecx, edi
mov edx, 0x4085fe
push 0xf
call fcn.0143568e
add esp, 4
push 0x1e
push dword [edi + 0x248]
call fcn.01426937
add esp, 8
xor ecx, ecx
test eax, eax
jne 0x143bc4b
jmp 0x143bfd3
call fcn.0145eb04
add esp, 8
mov ebx, edi
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov ecx, 0x408d17
mov edx, edi
push ebp
call fcn.014394f6
add esp, 4
mov dword [esi + 0x14], eax
mov ecx, 0x406594
mov edx, edi
push ebp
call fcn.014394f6
add esp, 4
mov dword [esi + 0x18], eax
push 0x26
push dword [ebx + 0x248]
call fcn.01426937
add esp, 8
xor ebx, ebx
test eax, eax
je 0x143c030
mov ecx, 0x408d21
mov edx, edi
push ebp
call fcn.014394f6
add esp, 4
test eax, eax
setne al
jmp 0x143c032
xor eax, eax
movzx eax, al
mov dword [esi + 0x1c], eax
push 0x27
mov eax, dword [esp + 4]
push dword [eax + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143c091
mov ecx, 0x408d36
mov edx, edi
push ebp
call fcn.014394f6
add esp, 4
test eax, eax
je 0x143c091
mov eax, dword [esp]
mov eax, dword [eax + 0x6a8]
test eax, eax
jne 0x143c088
mov ebx, dword [esp]
push dword [ebx + 0x248]
call fcn.0145ee4c
add esp, 4
mov dword [ebx + 0x6a8], eax
xor ebx, ebx
cmp dword [eax + 4], 0
setg bl
lea eax, [esi + 0x14]
mov dword [esi + 0x28], ebx
mov edx, dword [esp]
xor ecx, ecx
mov dword [edx + 0x188], ecx
cmp dword [eax], ecx
je 0x143c0c6
cmp dword [esi + 0x24], 0
je 0x143c22c
cmp dword [esi + 0x50], 0
je 0x143c0c6
cmp dword [esi + 0x58], 0
je 0x143c0c6
cmp dword [esi + 0x20], 0
je 0x143c6e2
cmp dword [esi + 0x28], 0
je 0x143c0d6
cmp dword [esi + 0x2c], 0
je 0x143c3d8
cmp dword [esi + 0x1c], 0
je 0x143c0e6
cmp dword [esi + 0x30], 0
je 0x143c48a
cmp dword [esi + 0x18], 0
je 0x143c455
mov ebx, dword [esp]
mov dword [ebx + 0x188], 2
push dword [ebx + 0x110]
call fcn.014285a8
add esp, 4
mov dword [esi + 0x3c], eax
mov dword [eax], 1
push 0x40852d
call fcn.01428572
add esp, 4
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 4], eax
push dword [ebx + 0xf8]
push dword [ebx + 0x250]
push 0x40853a
call fcn.0142852c
add esp, 0xc
mov edi, esi
xor esi, esi
push esi
push eax
push dword [edi + 0x3c]
call fcn.0142865b
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x3c]
call fcn.01464160
add esp, 0xc
test eax, eax
js 0x143c3c4
mov eax, dword [esi + 0x3c]
je 0x143c526
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
mov dword [esi + 0x48], eax
push dword [esi + 0x3c]
call fcn.014287e2
add esp, 4
mov ecx, 0x32
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x406594
call fcn.0143425f
mov ebx, edi
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0xb8]
call fcn.0143425f
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.0143f123
push 0x4085f0
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, 4
mov dword [esi + 4], eax
mov ebp, 0x290b
jmp 0x143c7ee
cmp dword [esi + 0x84], 0
je 0x143c0b0
mov ebp, dword [esp]
mov dword [ebp + 0x188], 1
push dword [esi + 0x80]
push 0x407feb
push ebp
call fcn.014331f6
add esp, 0xc
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov dword [esi + 0x94], eax
mov ecx, dword [esi + 0x74]
lea edx, [ecx + 4]
lea eax, [ecx + eax + 4]
mov dword [esi + 0x88], edx
mov dword [esi + 0x74], eax
mov eax, dword [ecx + 4]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x74]
add ecx, 4
mov dword [esi + 0x8c], ecx
mov eax, dword [eax]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x74]
lea edx, [ecx + 4]
lea eax, [ecx + eax + 4]
mov ecx, 0x32
mov dword [esi + 0x90], edx
mov dword [esi + 0x74], eax
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebp + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d17
call fcn.0143425f
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov ebx, esi
xor esi, esi
mov dword [ecx + eax - 4], esi
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0xb8]
push dword [ebx + 0x98]
call fcn.0143597e
add esp, 4
mov edi, dword [ebx + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], esi
mov esi, ebx
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [esi + 0x88]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x94]
call fcn.0143597e
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebp
call fcn.0143407b
mov dword [esi + 4], 3
mov ebp, 0x2644
jmp 0x143c7ee
mov dword [edi + 0x100], 1
mov ebp, 0x28dc
jmp 0x143c7ee
xor eax, eax
mov dword [esi + 4], 5
mov ebx, dword [0x413298]
xor edi, edi
inc eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0xc], eax
mov eax, dword [esp]
test ebx, ebx
mov dword [eax + 0x188], 3
mov dword [esi + 0xc0], edi
jle 0x143c557
mov ebp, esi
push edi
push 0x29
mov esi, dword [esp + 8]
push dword [esi + 0x248]
call fcn.014269d1
add esp, 0xc
mov ecx, dword [esi + 0x6a8]
mov edx, dword [ecx + 4]
test edx, edx
jle 0x143c443
mov ecx, dword [ecx]
xor esi, esi
cmp dword [ecx], eax
je 0x143c54b
inc esi
add ecx, 0x54
cmp esi, edx
jl 0x143c433
inc edi
cmp edi, ebx
jl 0x143c40d
mov esi, ebp
mov ecx, dword [esi + 0xc0]
jmp 0x143c553
push edi
push ebp
push 0x40911e
call fcn.0142852c
add esp, 0xc
mov ecx, dword [esp]
mov edi, eax
mov edx, edi
push 0
push 0xe
push 0x4084ff
call fcn.01435a57
add esp, 0xc
push edi
call fcn.014287a8
add esp, 4
jmp 0x143b6f6
mov dword [esi + 4], 6
mov ecx, 0x32
mov eax, 4
mov edi, dword [esp]
mov dword [edi + 0x188], eax
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d21
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x40214f
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x40214f
call fcn.0143425f
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.0143407b
push 0x408fb2
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov ebp, 0x283f
jmp 0x143c7ee
push eax
call fcn.014287e2
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x4081e0
call fcn.01435a57
add esp, 0xc
jmp 0x143c7ee
mov esi, ebp
mov dword [esi + 0xc0], ecx
test ecx, ecx
jne 0x143c574
push 0x278d
push 0x406132
push 0x408e0c
call fcn.01474209
add esp, 0xc
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 4]
mov edi, dword [esp]
test eax, eax
je 0x143c58d
push eax
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov ecx, 0x32
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d36
call fcn.0143425f
push 0x408e20
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xc8]
push ecx
push eax
call dword [eax + 8]
add esp, 8
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], 0x1000000
mov ebx, dword [esi + 0xc8]
mov edi, dword [esi + 0xb8]
add ebx, 2
mov ecx, edi
mov eax, ebx
mov ebp, ebx
shr eax, 0x18
shr ebp, 0x10
mov dword [esp + 4], eax
mov edx, dword [edi]
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 4]
mov byte [ecx + eax - 4], dl
mov edx, ebp
mov byte [ecx + eax - 3], dl
mov byte [ecx + eax - 2], bh
mov byte [ecx + eax - 1], bl
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 6
mov edi, dword [esi + 0xb8]
mov bl, byte [esi + 0xc8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov ebp, esi
mov byte [ecx + eax - 1], bl
mov edi, dword [esi + 0xb8]
mov esi, dword [ebp + 0xc8]
mov ebx, dword [ebp + 0xcc]
mov edx, dword [edi]
mov ecx, edi
add edx, esi
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi + 0x10]
add eax, dword [edi]
sub eax, esi
push esi
mov esi, ebp
push ebx
push eax
call fcn.01469324
add esp, 0xc
mov edx, dword [esi + 0xb8]
mov ecx, dword [esp]
call fcn.0143407b
mov ebp, 0x27aa
jmp 0x143c7ee
mov ebx, dword [esp]
xor eax, eax
mov ecx, 0x32
inc eax
mov dword [ebx + 0x188], eax
mov dword [esi + 0x20], eax
call fcn.01434028
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebx + 0x250]
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408a7d
call fcn.0143425f
mov ecx, dword [esi + 0xb8]
mov edx, 0x408d17
call fcn.0143425f
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0xb8]
call fcn.0143425f
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.01438fd5
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x54]
call fcn.0143597e
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.0143407b
push 0x408d67
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov ebp, 0x26d3
jmp 0x143c7ee
mov edx, 0x4092e4
push 0
push 0x43f1e4
call fcn.014400c7
add esp, 8
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov dword [ebp + 0xb8], eax
mov edi, dword [esp]
mov edx, dword [esi]
mov ecx, edi
call fcn.0143407b
mov ebp, 0x2a84
mov esi, ebx
mov dword [esi], ebp
mov ecx, dword [esp + 0x64]
call fcn.01466d40
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret