Function at 0x434840
Capabilities:
Authenticate hmac
Check if file exists
Encode data using base64
Get common file path
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e1ec
mov eax, dword fs:[0]
push eax
sub esp, 0x540
mov eax, dword [0x4d7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x1b8], ebx
sub esp, 8
lea ecx, [ebx + 0x130]
call fcn.0041b050
sub esp, 8
lea ecx, [ebx + 0x168]
call fcn.0041b050
sub esp, 8
lea ecx, [ebx + 0x1a0]
call fcn.0041b050
push 0x4c2c94
push 0xffffffffffffffb0
lea ecx, [ebx + 0x5b0]
call fcn.0041a070
push 1
push 5
lea ecx, [eax + 0x78]
call fcn.0040db40
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x18], 1
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x2a8]
push 3
mov dword [ebp - 4], 0
push dword [eax + 8]
push dword [ebx + 0x64]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x20]
test esi, esi
jne 0x434956
test eax, eax
je 0x434912
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x20], edx
test eax, eax
jle 0x434948
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
cmp ecx, eax
jl 0x434935
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
jmp 0x43496b
test eax, eax
je 0x434963
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 1
test esi, esi
je 0x4349aa
test eax, eax
jne 0x43498d
cmp word [esi], ax
je 0x434988
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x434980
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x4349aa
push esi
mov byte [ebp - 0x18], 1
call fcn.0048e09c
mov esi, dword [ebp - 0x20]
add esp, 4
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1c]
jmp 0x4349b8
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1e0], 0
mov byte [ebp - 0x18], 0
test eax, eax
jne 0x4349db
test esi, esi
je 0x4349d8
cmp word [esi], ax
je 0x4349d8
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x4349d0
mov dword [ebp - 0x1c], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp word [ecx*2 + str.SELECT__FROM_MSFT_Disk_WHERE_Number_], 0
jne 0x4349e0
add eax, ecx
mov edx, 2
mov dword [ebp - 0x1dc], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov edi, str.SELECT__FROM_MSFT_Disk_WHERE_Number_
add esp, 4
mov ecx, ebx
mov esi, 0x53
sub edi, ebx
mov word [ecx], si
add ecx, 2
movzx eax, word [edi + ecx]
mov esi, eax
test ax, ax
jne 0x434a21
cmp dword [ebp - 0x20], 0
je 0x434a53
movzx eax, word [edx]
mov esi, eax
test ax, ax
je 0x434a53
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x434a42
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x434a68
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x18], 1
cmp byte [eax + 0x150], 0
lea esi, [eax + 0x138]
jne 0x434a9b
mov ecx, dword [esi]
test ecx, ecx
je 0x434a9b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edx, ebx
mov dword [esi], 0
mov ebx, dword [ebp - 0x1b8]
mov ecx, dword [ebx + 0x130]
call fcn.0041a6c0
mov ecx, dword [ebx + 0x134]
mov edi, eax
test ecx, ecx
je 0x434ac8
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
test edi, edi
mov dword [ebx + 0x134], edi
setne al
mov byte [ebx + 0x160], al
mov byte [ebx + 0x150], 0
cmp dword [ebx + 0x134], 0
je 0x43a269
mov ecx, edi
mov dword [ebp - 0x104], 0
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], 0
push edx
lea edx, [ebp - 0x104]
mov eax, dword [ecx]
push edx
push 1
push 0xffffffffffffffff
mov eax, dword [eax + 0x10]
push ecx
call eax
mov ecx, dword [esi]
mov edi, dword [ebp - 0x104]
test ecx, ecx
je 0x434b31
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esi], edi
mov byte [ebx + 0x150], 0
mov ecx, dword [esi]
test ecx, ecx
setne al
mov byte [ebx + 0x160], al
test ecx, ecx
je 0x43a269
cmp dword [ebx], 0
je 0x434b63
mov dword [ebp - 0x1d0], 0xffffffff
jmp 0x43a273
mov eax, dword [ebp + 8]
lea edi, [ebx + 0x2a8]
push 4
mov ecx, edi
push dword [eax + 8]
push dword [ebx + 0x64]
call fcn.00416470
mov esi, dword [ebp - 0x1b8]
mov ebx, eax
add esi, 0x1e4
test ebx, ebx
jne 0x434b97
push eax
mov ecx, esi
call fcn.00401860
jmp 0x434bb3
mov eax, dword [esi]
test eax, eax
je 0x434ba6
push eax
call fcn.00489f13
add esp, 4
mov dword [esi], ebx
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov ecx, esi
call fcn.00401fd0
mov ebx, dword [ebp - 0x1b8]
mov ecx, edi
push 4
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x24], edx
push dword [ebx + 0x70]
call fcn.00415560
mov dword [ebp - 0x200], eax
mov ecx, edi
mov eax, dword [ebp + 8]
push 5
push dword [eax + 4]
push dword [ebx + 0x5c]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x20]
test esi, esi
jne 0x434c41
test eax, eax
je 0x434c03
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x20], edx
test eax, eax
jle 0x434c39
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
cmp ecx, eax
jl 0x434c26
xor ecx, ecx
mov word [edx + eax*2], cx
jmp 0x434c58
test eax, eax
je 0x434c4e
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x18], 1
call fcn.00402080
movzx eax, ax
xorps xmm0, xmm0
push 0x204
mov dword [ebp - 0x204], eax
movlpd qword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1f4], 0x10
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x1ec], eax
push 0x43a2f0
push 0x445bd0
push 0x10
lea esi, [eax + 4]
mov byte [ebp - 4], 1
push 0x20
push esi
mov dword [eax], 0x10
mov dword [ebp - 0x1bc], esi
call fcn.0048a300
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1a8], 0x10
mov dword [ebp - 0x100], 0
mov edi, dword [ebp - 0x1b8]
push 0x4c2cd0
push 0xffffffffffffffff
mov byte [ebp - 4], 3
lea ecx, [edi + 0x5b0]
call fcn.0041a070
push 1
push 5
lea ecx, [eax + 0x78]
call fcn.0040db40
mov dword [ebp - 0x34c], 0
xor eax, eax
mov byte [ebp - 0x344], 0
inc eax
cmp word [eax*2 + 0x4c2d08], 0
jne 0x434d11
mov dword [ebp - 0x348], eax
xor ecx, ecx
inc eax
mov ebx, 2
mul ebx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x348]
xor ecx, ecx
mov dword [ebp - 0x34c], edx
test eax, eax
jle 0x434d6e
mov ax, word [ecx*2 + 0x4c2d08]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x348]
mov edx, dword [ebp - 0x34c]
cmp ecx, eax
jl 0x434d51
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x344], 1
or eax, 0xffffffff
mov word [ebp - 0x33c], bx
mov word [ebp - 0x334], ax
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 5
push eax
mov ecx, esi
call fcn.00401560
lea ecx, [ebp - 0x33c]
lea eax, [esi + 0x10]
push ecx
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov dword [ebp - 0x1d4], eax
call eax
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x33c]
mov byte [ebp - 4], 3
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
mov dword [ebp - 0x1b4], ebx
call ebx
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x434dea
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x264], 0
xor eax, eax
mov dword [ebp - 0x26c], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2d20], 0
jne 0x434e00
mov dword [ebp - 0x268], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x268]
xor ecx, ecx
mov dword [ebp - 0x26c], edx
test eax, eax
jle 0x434e5d
mov ax, word [ecx*2 + 0x4c2d20]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x26c]
cmp ecx, eax
jl 0x434e40
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x264], 1
mov eax, 2
mov word [ebp - 0x25c], ax
or eax, 0xffffffff
mov word [ebp - 0x254], ax
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 7
push eax
lea ecx, [esi + 0x20]
call fcn.00401560
lea ecx, [ebp - 0x25c]
lea eax, [esi + 0x30]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2af
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 3
push eax
call ebx
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x434ecc
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x284], 0
xor eax, eax
mov dword [ebp - 0x28c], 0
nop
inc eax
cmp word [eax*2 + 0x4c2d34], 0
jne 0x434ee0
mov dword [ebp - 0x288], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x288]
xor ecx, ecx
mov dword [ebp - 0x28c], edx
test eax, eax
jle 0x434f3d
mov ax, word [ecx*2 + 0x4c2d34]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x28c]
cmp ecx, eax
jl 0x434f20
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x284], 1
xor eax, eax
mov word [ebp - 0x27c], si
mov word [ebp - 0x274], ax
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x28c]
push eax
mov byte [ebp - 4], 9
lea ecx, [esi + 0x40]
call fcn.00401560
lea ecx, [ebp - 0x27c]
lea eax, [esi + 0x50]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2b5
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 3
push eax
call ebx
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x434fac
push eax
call fcn.00489f13
add esp, 4
mov edx, dword [edi + 0x138]
lea eax, [ebp - 0x100]
mov ecx, dword [edi + 0x130]
push eax
push 3
push dword [ebp - 0x1bc]
push 0x4c2d58
call fcn.0041a920
test al, al
je 0x435075
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x184]
mov esi, dword [ebp - 0x100]
push eax
mov dword [ebp - 0x20c], ebx
call ebx
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0xb
push eax
call ebx
test esi, esi
je 0x4350da
mov eax, dword [esi]
lea ecx, [ebp - 0x184]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c04c0
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x4350da
cmp word [ebp - 0x184], 8
jne 0x43504a
push dword [ebp - 0x17c]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x435050
mov esi, dword [ebp - 0x17c]
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 3
push eax
call dword [ebp - 0x1b4]
test esi, esi
je 0x4350eb
cmp esi, 0xa028
je 0x4350eb
mov dword [ebp - 0x1d0], 0xfffffff5
mov edi, dword [ebp - 0x1d0]
mov byte [ebp - 4], 0x71
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x43509b
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov eax, dword [ebp - 0x1bc]
mov byte [ebp - 4], 0
test eax, eax
je 0x43a279
push 0x43a2f0
lea esi, [eax - 4]
mov byte [ebp - 4], 0x72
push dword [esi]
push 0x20
push eax
call fcn.0048a1a8
mov eax, dword [esi]
shl eax, 5
add eax, 4
push eax
push esi
call fcn.00489f18
add esp, 8
jmp 0x43a279
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 3
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4350fd
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x100], 0
mov edx, dword [edi + 0x138]
mov ecx, dword [edi + 0x130]
push eax
push 0
push 0
push 0x4c2038
call fcn.0041a920
push ecx
push 0x4c2d68
lea ecx, [edi + 0x5b0]
call fcn.00419f00
cmp dword [edi], 0
je 0x43514d
mov dword [ebp - 0x1d0], 0xffffffff
jmp 0x43507f
push 0x4c2db8
push 0xffffffffffffffff
lea ecx, [edi + 0x5b0]
call fcn.0041a070
mov dword [ebp - 0x36c], 0
xor eax, eax
mov byte [ebp - 0x364], 0
inc eax
cmp word [eax*2 + 0x4c1f28], 0
jne 0x435172
mov dword [ebp - 0x368], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x368]
xor ecx, ecx
mov dword [ebp - 0x36c], edx
test eax, eax
jle 0x4351cf
mov ax, word [ecx*2 + 0x4c1f28]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x368]
mov edx, dword [ebp - 0x36c]
cmp ecx, eax
jl 0x4351b2
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x364], 1
cmp dword [ebp - 0x200], 0
mov ecx, 0x4c1adc
mov eax, 0x4c1fe0
mov byte [ebp - 4], 0xe
cmove eax, ecx
mov ecx, 8
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov word [ebp - 0x35c], cx
mov dword [ebp - 0x1f8], eax
call eax
mov dword [ebp - 0x354], eax
test eax, eax
je 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x36c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00401560
lea ecx, [ebp - 0x35c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2c5
lea eax, [ebp - 0x35c]
mov byte [ebp - 4], 3
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x36c]
test eax, eax
je 0x435271
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x435283
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x100], 0
mov edx, dword [edi + 0x138]
mov ecx, dword [edi + 0x130]
push eax
push 1
push esi
push 0x4c2df8
call fcn.0041a920
test al, al
jne 0x4352c0
mov dword [ebp - 0x1d0], 0xfffffff4
jmp 0x43507f
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0x194]
push eax
call ebx
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x11
push eax
call ebx
test esi, esi
je 0x435347
mov eax, dword [esi]
lea ecx, [ebp - 0x194]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c04c0
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x435347
cmp word [ebp - 0x194], 8
jne 0x43531d
push dword [ebp - 0x18c]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x435323
mov esi, dword [ebp - 0x18c]
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 3
push eax
call dword [ebp - 0x1b4]
test esi, esi
je 0x435358
mov dword [ebp - 0x1d0], 0xfffffff4
jmp 0x43507f
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 3
push eax
call dword [ebp - 0x1b4]
push dword [ebp - 0x1e0]
lea ecx, [ebp - 0x20]
call fcn.00401f30
mov edi, eax
mov byte [edi + 8], 0
mov esi, dword [edi + 4]
test esi, esi
jne 0x43538b
mov eax, dword [edi]
test eax, eax
je 0x435388
cmp word [eax], si
je 0x435388
nop
inc esi
cmp word [eax + esi*2], 0
jne 0x435380
mov dword [edi + 4], esi
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2048], 0
jne 0x435390
add esi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x1e0], esi
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [edi]
mov esi, 0x4c2048
add esp, 4
mov dword [ebp - 0x1f4], eax
mov ecx, eax
mov ebx, 0x53
sub esi, eax
mov word [ecx], bx
add ecx, 2
movzx eax, word [ecx + esi]
mov ebx, eax
test ax, ax
jne 0x4353d6
cmp dword [edi], 0
mov esi, dword [ebp - 0x1e0]
je 0x435411
movzx eax, word [edx]
mov ebx, eax
test ax, ax
je 0x435411
nop dword [eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x435400
xor eax, eax
mov word [ecx], ax
mov eax, dword [edi]
test eax, eax
je 0x435425
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1f4]
mov dword [edi], eax
mov dword [edi + 4], esi
mov byte [edi + 8], 1
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x435453
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp - 0x1b8]
mov byte [ebp - 0x18], 1
cmp byte [ebx + 0x188], 0
lea esi, [ebx + 0x170]
jne 0x43547a
mov ecx, dword [esi]
test ecx, ecx
je 0x43547a
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esi], 0
mov edx, edi
mov ecx, dword [ebx + 0x168]
call fcn.0041a6c0
mov ecx, dword [ebx + 0x16c]
mov edi, eax
test ecx, ecx
je 0x4354a1
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebx + 0x16c], edi
test edi, edi
mov edi, ebx
setne al
mov byte [edi + 0x198], al
mov byte [edi + 0x188], 0
cmp dword [edi + 0x16c], 0
je 0x435576
mov edi, esi
nop word [eax + eax]
mov eax, ebx
cmp byte [eax + 0x188], 0
je 0x4354e1
mov dword [edi], 0
mov ecx, dword [eax + 0x16c]
test ecx, ecx
jne 0x4354ef
xor edi, edi
jmp 0x435523
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x108], 0
push edx
lea edx, [ebp - 0x108]
mov dword [ebp - 0xf0], 0
mov eax, dword [ecx]
push edx
push 1
push 0xffffffffffffffff
mov eax, dword [eax + 0x10]
push ecx
call eax
mov edi, dword [ebp - 0x108]
mov ecx, dword [esi]
test ecx, ecx
je 0x435531
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esi], edi
mov edi, ebx
mov byte [edi + 0x188], 0
mov ecx, dword [esi]
test ecx, ecx
setne al
mov byte [edi + 0x198], al
test ecx, ecx
je 0x435576
mov edx, dword [edi + 0x170]
add edi, 0x170
push 0
push 0
mov eax, ebx
push 0
push 0x4c2e10
mov ecx, dword [eax + 0x168]
call fcn.0041a920
jmp 0x4354d0
mov edx, dword [edi + 0x138]
mov ecx, dword [edi + 0x130]
push 0
push 0
push 0
push 0x4c2038
call fcn.0041a920
push ecx
push 0x4c2e30
lea ecx, [edi + 0x5b0]
call fcn.00419f00
cmp dword [edi], 0
je 0x4355b0
or edi, 0xffffffff
jmp 0x435085
push 4
push dword [edi + 0x74]
lea ecx, [edi + 0x2a8]
call fcn.00415560
mov ecx, dword [edi + 0x68]
cmp ecx, 0xffffffff
jne 0x4355d0
mov ecx, dword [edi + 0x2e8]
jmp 0x4355f1
mov edx, dword [edi + 0x2e4]
test edx, edx
je 0x435617
cmp ecx, 1
jl 0x435617
cmp ecx, dword [edi + 0x2e8]
jg 0x435617
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x435617
mov eax, dword [edi + 0x2e4]
lea ecx, [ecx + ecx*8]
push 0
push 0
push 0x1004
push dword [eax + ecx*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov dword [ebp - 0x1f4], eax
jmp 0x43561f
xor esi, esi
mov dword [ebp - 0x1f4], esi
mov eax, dword [ebp + 8]
lea ebx, [edi + 0x2a8]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0xc8], 0
mov ecx, ebx
movq qword [ebp - 0xd0], xmm0
push dword [eax + 4]
mov dword [ebp - 0x1ec], ebx
push dword [edi + 0x5c]
call fcn.00416470
mov dword [ebp - 0x208], eax
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0xc8], 1
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
xor eax, eax
movq qword [ebp - 0xac], xmm0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa4], 1
xor ecx, ecx
mov byte [ebp - 4], 0x15
mov eax, esi
movlpd qword [ebp - 0xfc], xmm0
mov edx, 0x18
mov dword [ebp - 0x1e0], esi
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x1d8], eax
push 0x470590
push 0x470560
push esi
mov byte [ebp - 4], 0x16
mov dword [eax], esi
add eax, 4
push 0x18
push eax
mov dword [ebp - 0x1f0], eax
call fcn.0048a300
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], esi
xor eax, eax
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x1cc], 0x400
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1d0], eax
test esi, esi
jle 0x4372cf
lea ecx, [edi + 0x1e4]
mov dword [ebp - 0x1c4], ecx
nop word [eax + eax]
push 4
push eax
push dword [edi + 0x68]
mov ecx, ebx
call fcn.00416470
mov esi, eax
test esi, esi
jne 0x435777
push eax
lea ecx, [ebp - 0xac]
call fcn.00401860
mov eax, dword [ebp - 0xac]
jmp 0x4357a3
mov eax, dword [ebp - 0x1fc]
test eax, eax
je 0x43578a
push eax
call fcn.00489f13
add esp, 4
mov eax, esi
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa4], 1
mov edi, dword [ebp - 0x208]
mov dword [ebp - 0x1fc], eax
test edi, edi
jne 0x4357d6
push 2
call fcn.0048a2cb
mov edi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x208], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], eax
mov word [edi], ax
mov eax, dword [ebp - 0x1fc]
mov byte [ebp - 0xc8], 1
test eax, eax
jne 0x43581e
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x1fc], eax
xor ecx, ecx
mov dword [ebp - 0xac], eax
mov edx, eax
mov dword [ebp - 0xa8], ecx
mov word [eax], cx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x18], cl
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c0], edx
jmp 0x43583b
mov esi, dword [ebp - 0x20]
mov edx, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov ebx, 0x4c2258
mov dword [ebp - 0x1c8], esi
mov byte [ebp - 0xa4], 1
xor ecx, ecx
nop
inc ecx
cmp word [ecx*2 + 0x4c2048], 0
jne 0x435850
cmp dword [ebp - 0x208], 0
jne 0x435873
mov dword [ebp - 0x1c8], esi
mov dword [ebp - 0x1c0], edx
jmp 0x4358a8
mov esi, dword [ebp - 0x208]
xor eax, eax
cmp word [esi], ax
mov esi, dword [ebp - 0x1c8]
je 0x4358a6
mov dword [ebp - 0x1c8], esi
mov esi, dword [ebp - 0x208]
mov dword [ebp - 0x1c0], edx
inc eax
cmp word [esi + eax*2], 0
jne 0x435898
mov esi, dword [ebp - 0x1c8]
add ecx, eax
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c2258], 0
jne 0x4358b0
add ecx, eax
cmp dword [ebp - 0x1fc], 0
jne 0x4358d5
mov dword [ebp - 0x1c8], esi
mov dword [ebp - 0x1c0], edx
jmp 0x43590a
mov esi, dword [ebp - 0x1fc]
xor eax, eax
cmp word [esi], ax
mov esi, dword [ebp - 0x1c8]
je 0x435908
mov dword [ebp - 0x1c0], edx
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x1c8], esi
nop word [eax + eax]
inc eax
cmp word [edx + eax*2], 0
jne 0x435900
add ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x1e0], ecx
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1d8], ecx
test eax, eax
je 0x435954
movzx edx, word [eax]
test dx, dx
je 0x435954
mov word [ecx], dx
lea eax, [eax + 2]
movzx edx, word [eax]
add ecx, 2
test dx, dx
jne 0x435943
mov edx, 0x4c2048
mov esi, 0x53
sub edx, ecx
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edx]
mov esi, eax
test ax, ax
jne 0x435960
mov eax, dword [ebp - 0x208]
test eax, eax
je 0x435996
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x435996
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x435985
mov eax, 0x20
nop dword [eax + eax]
mov word [ecx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
add ecx, 2
test ax, ax
jne 0x4359a0
mov eax, dword [ebp - 0x1fc]
test eax, eax
je 0x4359e1
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x4359e1
mov edx, dword [ebp - 0x1c0]
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x4359d0
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4359f6
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1e0]
mov ebx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x18], 1
test eax, eax
je 0x435a22
push eax
call fcn.00489f13
mov ebx, dword [ebp - 0x20]
add esp, 4
test ebx, ebx
jne 0x435a3e
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x1b8]
add edi, 0x168
mov byte [ebp - 0x18], 1
cmp byte [edi + 0x20], 0
jne 0x435a63
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x435a63
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [edi + 8], 0
mov edx, ebx
mov ecx, dword [edi]
call fcn.0041a6c0
mov ecx, dword [edi + 4]
mov esi, eax
test ecx, ecx
je 0x435a84
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ebx, dword [ebp - 0x1b8]
test esi, esi
mov dword [edi + 4], esi
setne al
mov byte [edi + 0x30], al
mov byte [edi + 0x20], 0
cmp dword [edi + 4], 0
je 0x435b17
mov ecx, dword [ebx + 0x16c]
test ecx, ecx
jne 0x435ab1
xor esi, esi
jmp 0x435ae5
lea edx, [ebp - 0xf4]
mov dword [ebp - 0x10c], 0
push edx
lea edx, [ebp - 0x10c]
mov dword [ebp - 0xf4], 0
mov eax, dword [ecx]
push edx
push 1
push 0xffffffffffffffff
mov eax, dword [eax + 0x10]
push ecx
call eax
mov esi, dword [ebp - 0x10c]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x435af4
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [edi + 8], esi
mov byte [ebx + 0x188], 0
mov ecx, dword [edi + 8]
test ecx, ecx
mov byte [ebp - 0x1ad], 1
setne al
mov byte [ebx + 0x198], al
test ecx, ecx
jne 0x435b1e
mov byte [ebp - 0x1ad], 0
push 0x4c2e84
push 0xffffffffffffffff
lea ecx, [ebx + 0x5b0]
call fcn.0041a070
mov ecx, dword [ebp - 0x1ec]
push 1
push dword [ebp - 0x1d0]
push dword [ebx + 0x68]
call fcn.00416470
mov ebx, dword [ebp - 0x1c4]
mov esi, eax
test esi, esi
jne 0x435b5c
push eax
mov ecx, ebx
call fcn.00401860
jmp 0x435b78
mov eax, dword [ebx]
test eax, eax
je 0x435b6b
push eax
call fcn.00489f13
add esp, 4
mov dword [ebx], esi
mov dword [ebx + 4], 0
mov byte [ebx + 8], 1
mov ecx, ebx
call fcn.00401fd0
mov ecx, dword [ebp - 0x1ec]
mov ebx, eax
mov eax, dword [ebp - 0x1b8]
mov edi, edx
push 2
push dword [ebp - 0x1d0]
mov dword [ebp - 0x1d8], edi
push dword [eax + 0x68]
call fcn.00416470
mov ecx, dword [ebp - 0x1c4]
mov esi, eax
test esi, esi
jne 0x435bbf
push eax
call fcn.00401860
mov eax, dword [ebp - 0x1c4]
jmp 0x435be1
mov eax, dword [ecx]
test eax, eax
je 0x435bce
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1c4]
mov dword [eax], esi
mov dword [eax + 4], 0
mov byte [eax + 8], 1
mov ecx, eax
call fcn.00401fd0
mov esi, dword [ebp - 0x1e8]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1e0], edx
cmp edi, esi
ja 0x435c12
mov ecx, dword [ebp - 0x1cc]
jb 0x435c0a
cmp ebx, ecx
jae 0x435c12
mov ebx, ecx
mov dword [ebp - 0x1d8], esi
mov ecx, dword [ebp - 0x1f4]
mov esi, dword [ebp - 0x1d0]
dec ecx
mov edi, dword [ebp - 0x1d8]
cmp esi, ecx
jne 0x435c56
mov ecx, eax
mov eax, edx
mov edx, dword [ebp - 0x24]
add ecx, ebx
adc eax, edi
cmp eax, edx
jb 0x435c56
mov eax, dword [ebp - 0x1dc]
ja 0x435c44
cmp ecx, eax
jbe 0x435c56
sub eax, ebx
mov dword [ebp - 0x1c8], eax
mov eax, edx
sbb eax, edi
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1ec]
push 4
push esi
push dword [eax + 0x68]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x20]
test esi, esi
jne 0x435cc7
test eax, eax
je 0x435c83
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x20], edx
test eax, eax
jle 0x435cb9
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
cmp ecx, eax
jl 0x435ca6
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
jmp 0x435cdc
test eax, eax
je 0x435cd4
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 1
test esi, esi
je 0x435d0e
test eax, eax
jne 0x435cfd
cmp word [esi], ax
je 0x435cf8
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x435cf0
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x435d0e
push esi
mov byte [ebp - 0x18], 1
call fcn.0048e09c
add esp, 4
jmp 0x435d14
mov byte [ebp - 0x18], 0
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
movq qword [ebp - 0xe8], xmm0
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
mov byte [ebp - 0xe0], 1
movq qword [ebp - 0xdc], xmm0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
mov byte [ebp - 0xd4], 1
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 0x8c], 1
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0x98], 1
mov esi, dword [ebp - 0x1bc]
mov edi, 0xa
mov byte [ebp - 4], 0x1b
mov eax, dword [esi]
test eax, eax
je 0x435def
push eax
call fcn.00489f13
add esp, 4
mov dword [esi], 0
mov dword [esi + 4], 0
mov byte [esi + 8], 1
add esi, 0x20
sub edi, 1
jne 0x435de0
mov eax, dword [ebp - 0x1f4]
dec eax
cmp dword [ebp - 0x1d0], eax
jge 0x435f4a
mov dword [ebp - 0x38c], edi
xor eax, eax
mov byte [ebp - 0x384], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c047c], 0
jne 0x435e30
mov dword [ebp - 0x388], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x388]
xor ecx, ecx
mov dword [ebp - 0x38c], edx
test eax, eax
jle 0x435e8d
mov ax, word [ecx*2 + 0x4c047c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x388]
mov edx, dword [ebp - 0x38c]
cmp ecx, eax
jl 0x435e70
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x384], 1
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1c8]
call fcn.00401cb0
mov esi, eax
cmp dword [esi], 0
jne 0x435ed0
push 2
call fcn.0048a2cb
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 4], ecx
mov byte [esi + 8], 1
mov eax, 8
mov esi, dword [esi]
push esi
mov word [ebp - 0x37c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x374], eax
test eax, eax
jne 0x435efb
test esi, esi
jne 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x38c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1d
call fcn.00401560
lea eax, [ebp - 0x37c]
push eax
lea eax, [esi + 0x10]
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov edi, dword [ebp - 0x1b4]
lea eax, [ebp - 0x37c]
push eax
mov byte [ebp - 4], 0x1b
call edi
mov eax, dword [ebp - 0x38c]
jmp 0x436025
mov dword [ebp - 0x3ac], 0
xor eax, eax
mov byte [ebp - 0x3a4], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2eb8], 0
jne 0x435f60
mov dword [ebp - 0x3a8], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3a8]
xor ecx, ecx
mov dword [ebp - 0x3ac], edx
test eax, eax
jle 0x435fbd
mov ax, word [ecx*2 + 0x4c2eb8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3a8]
mov edx, dword [ebp - 0x3ac]
cmp ecx, eax
jl 0x435fa0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x3a4], 1
or eax, 0xffffffff
mov word [ebp - 0x39c], si
mov word [ebp - 0x394], ax
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x3ac]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1f
call fcn.00401560
lea eax, [ebp - 0x39c]
push eax
lea eax, [esi + 0x10]
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov edi, dword [ebp - 0x1b4]
lea eax, [ebp - 0x39c]
push eax
mov byte [ebp - 4], 0x1b
call edi
mov eax, dword [ebp - 0x3ac]
test eax, eax
je 0x436032
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x22c], 0
xor eax, eax
mov byte [ebp - 0x224], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c216c], 0
jne 0x436050
mov dword [ebp - 0x228], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x228]
xor ecx, ecx
mov dword [ebp - 0x22c], edx
test eax, eax
jle 0x4360ad
mov ax, word [ecx*2 + 0x4c216c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x228]
mov edx, dword [ebp - 0x22c]
cmp ecx, eax
jl 0x436090
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x224], 1
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x1d8]
push ebx
call fcn.00401cb0
mov esi, eax
cmp dword [esi], 0
jne 0x4360eb
push 2
call fcn.0048a2cb
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 4], ecx
mov byte [esi + 8], 1
mov eax, 8
mov esi, dword [esi]
push esi
mov word [ebp - 0x21c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x214], eax
test eax, eax
jne 0x436116
test esi, esi
jne 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0x21
lea ecx, [esi + 0x20]
call fcn.00401560
lea ecx, [ebp - 0x21c]
lea eax, [esi + 0x30]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x1b
push eax
call edi
mov eax, dword [ebp - 0x22c]
test eax, eax
je 0x436168
push eax
call fcn.00489f13
add esp, 4
mov ebx, dword [ebp - 0x1b8]
add ebx, 0x168
push 0x4c2198
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
je 0x436294
cmp word [ebx + 0x10], 8
jne 0x4361a1
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
movzx eax, ax
jmp 0x4361a5
movzx eax, word [ebx + 0x18]
test ax, ax
je 0x436294
mov dword [ebp - 0x3cc], 0
xor eax, eax
mov byte [ebp - 0x3c4], 0
inc eax
cmp word [eax*2 + 0x4c2ed8], 0
jne 0x4361c1
mov dword [ebp - 0x3c8], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c8]
xor ecx, ecx
mov dword [ebp - 0x3cc], edx
test eax, eax
jle 0x43621e
mov ax, word [ecx*2 + 0x4c2ed8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c8]
mov edx, dword [ebp - 0x3cc]
cmp ecx, eax
jl 0x436201
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x3c4], 1
or eax, 0xffffffff
mov word [ebp - 0x3bc], si
mov word [ebp - 0x3b4], ax
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x3cc]
push eax
mov byte [ebp - 4], 0x23
lea ecx, [esi + 0x40]
call fcn.00401560
lea ecx, [ebp - 0x3bc]
lea eax, [esi + 0x50]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x3bc]
mov byte [ebp - 4], 0x1b
push eax
call edi
mov eax, dword [ebp - 0x3cc]
test eax, eax
je 0x43628e
push eax
call fcn.00489f13
add esp, 4
mov esi, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x200]
test eax, eax
jne 0x4363c2
push 0x4c2efc
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
je 0x4363bc
cmp word [ebx + 0x10], 8
mov eax, dword [ebx + 0x18]
jne 0x4362cb
push eax
call fcn.0048e09c
add esp, 4
test eax, eax
je 0x4363bc
mov dword [ebp - 0x3ec], 0
xor eax, eax
mov byte [ebp - 0x3e4], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c2efc], 0
jne 0x4362f0
mov dword [ebp - 0x3e8], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3e8]
xor ecx, ecx
mov dword [ebp - 0x3ec], edx
test eax, eax
jle 0x43634d
mov ax, word [ecx*2 + 0x4c2efc]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3e8]
mov edx, dword [ebp - 0x3ec]
cmp ecx, eax
jl 0x436330
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x3e4], 1
mov eax, 2
mov word [ebp - 0x3dc], ax
or eax, 0xffffffff
mov word [ebp - 0x3d4], ax
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [esi + 0x60]
call fcn.00401560
lea ecx, [ebp - 0x3dc]
lea eax, [esi + 0x70]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x3dc]
mov byte [ebp - 4], 0x1b
push eax
call edi
mov eax, dword [ebp - 0x3ec]
test eax, eax
je 0x4363bc
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1c0]
cmp edi, 0xffffffff
jne 0x4365a3
mov dword [ebp - 0x40c], 0
xor eax, eax
mov byte [ebp - 0x404], 0
inc eax
cmp word [eax*2 + 0x4c1df8], 0
jne 0x4363e4
mov dword [ebp - 0x408], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x408]
xor ecx, ecx
mov dword [ebp - 0x40c], edx
test eax, eax
jle 0x43644d
nop dword [eax]
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4c1df8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x408]
mov edx, dword [ebp - 0x40c]
cmp ecx, eax
jl 0x436430
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x404], 1
mov eax, 8
mov byte [ebp - 4], 0x26
push 0x4bf950
mov word [ebp - 0x3fc], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x3f4], eax
test eax, eax
je 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x40c]
push eax
mov byte [ebp - 4], 0x27
lea ecx, [esi + 0x80]
call fcn.00401560
lea ecx, [ebp - 0x3fc]
lea eax, [esi + 0x90]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov ebx, dword [ebp - 0x1b4]
lea eax, [ebp - 0x3fc]
push eax
mov byte [ebp - 4], 0x1b
call ebx
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x4364e1
push eax
call fcn.00489f13
add esp, 4
mov ebx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4364f9
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x100], 0
push eax
mov eax, dword [ebp - 0x1b8]
push 7
push ebx
push 0x4c2f20
mov edx, dword [eax + 0x138]
mov ecx, dword [eax + 0x130]
call fcn.0041a920
test al, al
je 0x436d3d
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0x174]
mov ebx, dword [ebp - 0x20c]
push eax
call ebx
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 0x36
push eax
call ebx
test esi, esi
je 0x436d47
mov eax, dword [esi]
lea ecx, [ebp - 0x174]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c04c0
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x436d47
cmp word [ebp - 0x174], 8
jne 0x436d26
push dword [ebp - 0x16c]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x436d2c
cmp edi, 0xfffffffe
jne 0x436795
mov dword [ebp - 0x42c], 0
xor eax, eax
mov byte [ebp - 0x424], 0
nop
inc eax
cmp word [eax*2 + 0x4c1df8], 0
jne 0x4365c0
mov dword [ebp - 0x428], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x428]
xor ecx, ecx
mov dword [ebp - 0x42c], edx
test eax, eax
jle 0x43661d
mov ax, word [ecx*2 + 0x4c1df8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x428]
mov edx, dword [ebp - 0x42c]
cmp ecx, eax
jl 0x436600
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x424], 1
mov eax, 8
mov byte [ebp - 4], 0x28
push 0x4bf9a0
mov word [ebp - 0x41c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x414], eax
test eax, eax
je 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x42c]
push eax
mov byte [ebp - 4], 0x29
lea ecx, [esi + 0x80]
call fcn.00401560
lea ecx, [ebp - 0x41c]
lea eax, [esi + 0x90]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov ebx, dword [ebp - 0x1b4]
lea eax, [ebp - 0x41c]
push eax
mov byte [ebp - 4], 0x1b
call ebx
mov eax, dword [ebp - 0x42c]
test eax, eax
je 0x4366b1
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x2a4], 0
xor eax, eax
mov dword [ebp - 0x2ac], 0
inc eax
cmp word [eax*2 + 0x4c2efc], 0
jne 0x4366c4
mov dword [ebp - 0x2a8], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x2a8]
xor ecx, ecx
mov dword [ebp - 0x2ac], edx
test eax, eax
jle 0x43672d
nop dword [eax]
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4c2efc]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x2ac]
cmp ecx, eax
jl 0x436710
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x2a4], 1
or eax, 0xffffffff
mov word [ebp - 0x29c], si
mov word [ebp - 0x294], ax
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x2ac]
push eax
mov byte [ebp - 4], 0x2b
lea ecx, [esi + 0x60]
call fcn.00401560
lea ecx, [ebp - 0x29c]
lea eax, [esi + 0x70]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x29c]
mov byte [ebp - 4], 0x1b
push eax
call ebx
mov eax, dword [ebp - 0x2ac]
jmp 0x4364d4
test eax, eax
mov eax, dword [ebp - 0x204]
jne 0x4369ca
cmp byte [ebp - 0x1ad], 0
je 0x4368c6
cmp ax, 2
jne 0x4368c6
mov dword [ebp - 0x44c], 0
xor eax, eax
mov byte [ebp - 0x444], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c1df8], 0
jne 0x4367d0
mov dword [ebp - 0x448], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x448]
xor ecx, ecx
mov dword [ebp - 0x44c], edx
test eax, eax
jle 0x43682d
mov ax, word [ecx*2 + 0x4c1df8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x448]
mov edx, dword [ebp - 0x44c]
cmp ecx, eax
jl 0x436810
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x444], 1
push ecx
push 0x4c1df8
mov ecx, ebx
mov byte [ebp - 4], 0x2c
call fcn.0041b1c0
mov esi, eax
mov eax, 8
push esi
mov word [ebp - 0x43c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x434], eax
test eax, eax
jne 0x436872
test esi, esi
jne 0x43a2bb
mov ebx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x44c]
push eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebx + 0x80]
call fcn.00401560
lea ecx, [ebp - 0x43c]
lea eax, [ebx + 0x90]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x43c]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x44c]
jmp 0x436c1c
cmp ax, 1
jne 0x4364e1
mov dword [ebp - 0x46c], 0
xor eax, eax
mov byte [ebp - 0x464], 0
inc eax
cmp word [eax*2 + 0x4c1df8], 0
jne 0x4368e3
mov dword [ebp - 0x468], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x468]
xor ecx, ecx
mov dword [ebp - 0x46c], edx
test eax, eax
jle 0x436940
mov ax, word [ecx*2 + 0x4c1df8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x468]
mov edx, dword [ebp - 0x46c]
cmp ecx, eax
jl 0x436923
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x464], 1
mov eax, 8
mov byte [ebp - 4], 0x2e
push 0x4bf9f0
mov word [ebp - 0x45c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x454], eax
test eax, eax
je 0x43a2bb
mov ebx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebx + 0x80]
call fcn.00401560
lea ecx, [ebp - 0x45c]
lea eax, [ebx + 0x90]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x45c]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x46c]
jmp 0x436c1c
cmp byte [ebp - 0x1ad], 0
je 0x436c32
cmp ax, 1
jne 0x436c32
mov dword [ebp - 0x48c], 0
xor eax, eax
mov byte [ebp - 0x484], 0
inc eax
cmp word [eax*2 + 0x4c2f10], 0
jne 0x4369f4
mov dword [ebp - 0x488], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x488]
xor ecx, ecx
mov dword [ebp - 0x48c], edx
test eax, eax
jle 0x436a5d
nop dword [eax]
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4c2f10]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x488]
mov edx, dword [ebp - 0x48c]
cmp ecx, eax
jl 0x436a40
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x484], 1
push 0x4c2f10
mov ecx, ebx
mov byte [ebp - 4], 0x30
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x436a84
xor eax, eax
jmp 0x436a9f
cmp word [ebx + 0x10], 8
jne 0x436a9b
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
movzx eax, ax
jmp 0x436a9f
movzx eax, word [ebx + 0x18]
mov ecx, 0x12
mov word [ebp - 0x474], ax
mov word [ebp - 0x47c], cx
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x48c]
push eax
mov byte [ebp - 4], 0x31
lea ecx, [esi + 0xa0]
call fcn.00401560
lea ecx, [ebp - 0x47c]
lea eax, [esi + 0xb0]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x47c]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x48c]
test eax, eax
je 0x436b0e
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x2c4], 0
xor eax, eax
mov dword [ebp - 0x2cc], 0
inc eax
cmp word [eax*2 + 0x4c2130], 0
jne 0x436b21
mov dword [ebp - 0x2c8], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x2c8]
xor ecx, ecx
mov dword [ebp - 0x2cc], edx
test eax, eax
jle 0x436b7e
mov ax, word [ecx*2 + 0x4c2130]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2cc]
cmp ecx, eax
jl 0x436b61
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x2c4], 1
push 0x4c2130
mov ecx, ebx
mov byte [ebp - 4], 0x32
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x436ba5
xor eax, eax
jmp 0x436bb8
cmp word [ebx + 0x10], 8
mov eax, dword [ebx + 0x18]
jne 0x436bb8
push eax
call fcn.0048e09c
add esp, 4
neg eax
mov word [ebp - 0x2bc], si
sbb eax, eax
movzx eax, ax
mov word [ebp - 0x2b4], ax
mov ebx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x33
lea ecx, [ebx + 0xc0]
call fcn.00401560
lea ecx, [ebp - 0x2bc]
lea eax, [ebx + 0xd0]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x4364e7
push eax
call fcn.00489f13
add esp, 4
jmp 0x4364e7
cmp ax, 2
jne 0x4364e1
mov dword [ebp - 0x4ac], 0
xor eax, eax
mov byte [ebp - 0x4a4], 0
nop
inc eax
cmp word [eax*2 + 0x4c2f10], 0
jne 0x436c50
mov dword [ebp - 0x4a8], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x4a8]
xor ecx, ecx
mov dword [ebp - 0x4ac], edx
test eax, eax
jle 0x436cad
mov ax, word [ecx*2 + 0x4c2f10]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x4ac]
cmp ecx, eax
jl 0x436c90
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, 0x12
mov word [ebp - 0x49c], ax
mov eax, 7
mov byte [ebp - 0x4a4], 1
mov word [ebp - 0x494], ax
mov ebx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x4ac]
push eax
mov byte [ebp - 4], 0x34
lea ecx, [ebx + 0xa0]
call fcn.00401560
lea ecx, [ebp - 0x49c]
lea eax, [ebx + 0xb0]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x4ac]
jmp 0x436c1c
mov esi, dword [ebp - 0x16c]
lea eax, [ebp - 0x174]
push eax
call dword [ebp - 0x1b4]
test esi, esi
je 0x436d54
mov edi, 0xfffffff3
jmp 0x4372b1
lea eax, [ebp - 0x174]
push eax
call dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0x164]
push eax
call ebx
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x38
push eax
call ebx
test esi, esi
je 0x436de9
mov eax, dword [esi]
lea ecx, [ebp - 0x164]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c2f40
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x436de9
cmp word [ebp - 0x164], 0xd
jne 0x436de9
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x436de9
mov dword [ebp - 0x110], 0
lea edx, [ebp - 0x110]
mov eax, dword [ecx]
push edx
push 0x4cc6f0
push ecx
mov eax, dword [eax]
call eax
test eax, eax
lea eax, [ebp - 0x164]
push eax
jne 0x436df0
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0x1c0], ebx
call dword [ebp - 0x1b4]
jmp 0x436dfe
lea eax, [ebp - 0x164]
push eax
call dword [ebp - 0x1b4]
xor ebx, ebx
mov dword [ebp - 0x1c0], ebx
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x1d0]
mov edx, 0x4c0448
mov esi, dword [ebp - 0x1f0]
mov ecx, ebx
add esi, 0xc
mov byte [ebp - 4], 0x39
push 0
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
push esi
call fcn.0041aca0
add esp, 8
test al, al
je 0x436ece
mov eax, dword [esi + 4]
test eax, eax
jne 0x436e59
mov ecx, dword [esi]
test ecx, ecx
je 0x436e4e
cmp word [ecx], ax
je 0x436e4e
inc eax
cmp word [ecx + eax*2], 0
jne 0x436e46
mov dword [esi + 4], eax
test eax, eax
je 0x436ece
cmp dword [ebp - 0x200], 0
jne 0x436e9e
cmp edi, 0xffffffff
jne 0x436e80
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1f0]
push 0x4c2f64
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
jmp 0x436ec9
cmp edi, 0xfffffffe
jne 0x436e9e
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1f0]
push 0x4c1b38
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
jmp 0x436ec9
mov ecx, dword [ebp - 0x1b8]
push 0
push 0x4c0448
lea ecx, [ecx + 0x168]
call fcn.0041b1c0
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1f0]
push eax
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
call fcn.00401860
mov eax, dword [ebp - 0x1b8]
push 0
push 0
push 0
mov edx, dword [eax + 0x138]
mov ecx, dword [eax + 0x130]
push 0x4c2038
call fcn.0041a920
test ebx, ebx
je 0x43706f
mov esi, dword [ebp - 0x20c]
lea eax, [ebp - 0x124]
push eax
call esi
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x3a
push eax
call esi
mov eax, dword [ebx]
lea ecx, [ebp - 0x124]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c047c
push ebx
call eax
shr eax, 0x1f
xor al, 1
jne 0x436f5b
lea eax, [ebp - 0x124]
push eax
call dword [ebp - 0x1b4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1e4], xmm0
mov esi, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1e4]
jmp 0x436f92
cmp word [ebp - 0x124], 8
jne 0x436f79
push dword [ebp - 0x11c]
call fcn.0048e0bf
add esp, 4
mov edi, eax
mov esi, edx
jmp 0x436f85
mov edi, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x118]
lea eax, [ebp - 0x124]
push eax
call dword [ebp - 0x1b4]
lea eax, [ebp - 0x134]
push eax
call dword [ebp - 0x20c]
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x3b
push eax
call dword [ebp - 0x20c]
mov eax, dword [ebx]
lea ecx, [ebp - 0x134]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c216c
push ebx
call eax
shr eax, 0x1f
xor al, 1
jne 0x43700e
lea eax, [ebp - 0x134]
push eax
call dword [ebp - 0x1b4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1e4], xmm0
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e4]
add eax, edi
mov dword [ebp - 0x1cc], eax
adc dword [ebp - 0x1e8], esi
jmp 0x437093
cmp word [ebp - 0x134], 8
jne 0x437034
push dword [ebp - 0x12c]
call fcn.0048e0bf
add esp, 4
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1e8], edx
jmp 0x43704c
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x134]
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1cc]
add eax, edi
mov dword [ebp - 0x1cc], eax
adc dword [ebp - 0x1e8], esi
jmp 0x437093
mov eax, dword [ebp - 0x1cc]
add eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1e8]
adc eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e8], eax
mov esi, dword [ebp - 0x20c]
lea eax, [ebp - 0x154]
push eax
call esi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x3c
push eax
call esi
test ebx, ebx
je 0x43711a
mov eax, dword [ebx]
lea ecx, [ebp - 0x154]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c20c4
push ebx
call eax
shr eax, 0x1f
xor al, 1
je 0x43711a
cmp word [ebp - 0x154], 8
jne 0x437101
push dword [ebp - 0x14c]
call fcn.0048e09c
add esp, 4
mov byte [ebp - 4], 0x39
mov esi, eax
lea eax, [ebp - 0x154]
push eax
call dword [ebp - 0x1b4]
jmp 0x43712d
mov esi, dword [ebp - 0x14c]
lea eax, [ebp - 0x154]
push eax
mov byte [ebp - 4], 0x39
call dword [ebp - 0x1b4]
jmp 0x43712d
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x39
push eax
call dword [ebp - 0x1b4]
xor esi, esi
push esi
lea ecx, [ebp - 0x20]
call fcn.00401f30
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
mov byte [ebx + 8], 0
mov esi, dword [ebx + 4]
test esi, esi
jne 0x43715f
mov ecx, dword [ebx]
test ecx, ecx
je 0x43715c
cmp word [ecx], si
je 0x43715c
inc esi
cmp word [ecx + esi*2], 0
jne 0x437154
mov dword [ebx + 4], esi
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c2f70], 0
jne 0x437161
add esi, eax
xor ecx, ecx
mov edx, 2
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebx]
add esp, 4
mov ebx, 0x4c2f70
mov dword [ebp - 0x1d8], eax
mov ecx, eax
mov edi, 0x53
sub ebx, eax
mov word [ecx], di
add ecx, 2
movzx eax, word [ebx + ecx]
mov edi, eax
test ax, ax
jne 0x4371a1
mov ebx, dword [ebp - 0x1e0]
cmp dword [ebx], 0
je 0x4371d8
movzx eax, word [edx]
mov edi, eax
test ax, ax
je 0x4371d8
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x4371c7
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebx]
test eax, eax
je 0x4371ec
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1d8]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov byte [ebx + 8], 1
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x43721a
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x1b8]
push ecx
push eax
mov byte [ebp - 0x18], 1
lea ecx, [edi + 0x5b0]
call fcn.00419f00
cmp dword [edi], 0
jne 0x437298
mov ecx, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0x3f
test ecx, ecx
je 0x43724c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x43725f
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x437276
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1f4]
inc eax
mov dword [ebp - 0x1d0], eax
cmp eax, esi
jge 0x4372cf
mov ebx, dword [ebp - 0x1ec]
jmp 0x435750
mov ecx, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0x3d
test ecx, ecx
je 0x4372ae
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
or edi, 0xffffffff
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4372c4
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0xe8]
jmp 0x43a1f7
push 0x4c2fb8
lea ecx, [edi + 0x5b0]
push 0xffffffffffffffff
call fcn.0041a070
mov ecx, edi
call fcn.0042ee70
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x68], 1
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xbc], 1
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
xor edx, edx
mov byte [ebp - 4], 0x41
mov dword [ebp - 0x1cc], edx
test esi, esi
jle 0x43758e
lea ecx, [edi + 0x168]
lea eax, [edi + 0x1a0]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1e8], eax
nop
cmp dword [edi], 0
jne 0x439374
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movq qword [ebp - 0x54], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x4c], 1
movq qword [ebp - 0x88], xmm0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x80], 1
movq qword [ebp - 0x30], xmm0
xor ecx, ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x28], 1
mov edi, dword [ebp - 0x1f0]
lea eax, [edx + edx*2]
mov byte [ebp - 4], 0x46
mov byte [ebp - 0x1ec], cl
mov ebx, dword [edi + eax*8]
cmp ebx, 0x4c2f64
je 0x43743e
test ebx, ebx
je 0x437500
mov esi, 0x4c2f64
sub ebx, esi
nop word [eax + eax]
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x4374ac
cmp word [esi], ax
jne 0x4374b1
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x437438
push eax
call fcn.00489f13
add esp, 4
mov edi, dword [ebp - 0x1f0]
mov byte [ebp - 0x4c], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c2ff8], 0
jne 0x437444
mov dword [ebp - 0x50], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov dword [ebp - 0x54], edx
test eax, eax
jle 0x437497
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4c2ff8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
cmp ecx, eax
jl 0x437480
mov ebx, dword [ebp - 0x1d8]
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x4c], 1
jmp 0x437e1c
cmp ax, word [esi]
je 0x4374e9
xor edx, edx
cmp dx, ax
jne 0x4374bc
xor edi, edi
jmp 0x4374c8
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x4374d8
xor eax, eax
jmp 0x4374e4
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x4374f1
add esi, 2
jmp 0x437410
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1f0]
lea eax, [edx + edx*2]
mov ebx, dword [edi + eax*8]
cmp ebx, 0x4c1b38
je 0x43753b
test ebx, ebx
je 0x4377e3
mov esi, 0x4c1b38
sub ebx, esi
nop dword [eax]
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x43778f
cmp word [esi], ax
jne 0x437794
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x437548
push ecx
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x43755b
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x43756f
push eax
call fcn.00489f13
add esp, 4
mov edx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1b8]
inc edx
mov dword [ebp - 0x1cc], edx
cmp edx, dword [ebp - 0x1f4]
jl 0x437370
cmp dword [ebp - 0xb8], 0
mov dword [ebp - 0x1d0], 1
je 0x43a1a3
push 4
push dword [edi + 0x74]
lea ecx, [edi + 0x2a8]
call fcn.00415560
test eax, eax
je 0x43a1a3
push 0x4c31b8
push 0xffffffffffffffb0
lea ecx, [edi + 0x5b0]
call fcn.0041a070
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
movq qword [ebp - 0x48], xmm0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x40], 1
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x34], 1
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 0
xor eax, eax
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x94], eax
mov byte [ebp - 0x8c], 1
xor ebx, ebx
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x64], ebx
mov byte [ebp - 0x5c], 1
mov byte [ebp - 4], 0x64
push 0x20a
mov byte [ebp - 0x98], bl
mov dword [ebp - 0x9c], ebx
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov word [eax + 0x208], cx
push eax
push ecx
push ecx
push 0x25
push ecx
mov word [eax], cx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edx, dword [ebp - 0xc4]
test eax, eax
mov eax, dword [ebp - 0xc0]
sete byte [ebp - 0x98]
test eax, eax
jne 0x4376e2
xor eax, eax
test edx, edx
je 0x4376dc
cmp word [edx], ax
je 0x4376dc
inc eax
cmp word [edx + eax*2], 0
jne 0x4376d4
mov dword [ebp - 0xc0], eax
cmp eax, 0xa
jle 0x439690
test edx, edx
jne 0x437710
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0xc4], eax
xor ecx, ecx
mov word [eax], cx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], ecx
lea esi, [edi + 0x168]
mov byte [ebp - 0xbc], 1
cmp byte [esi + 0x20], 0
je 0x43772a
mov dword [esi + 8], 0
mov ecx, dword [esi]
call fcn.0041a840
mov ecx, dword [esi + 8]
mov ebx, eax
test ecx, ecx
je 0x437742
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, ebx
mov dword [esi + 8], ebx
test ecx, ecx
mov byte [esi + 0x20], 0
setne al
mov byte [esi + 0x30], al
test ecx, ecx
je 0x439688
push 0x4c2198
mov ecx, esi
call fcn.0041b0e0
cmp byte [esi + 0x30], 0
je 0x439428
cmp word [esi + 0x10], 8
jne 0x43937c
push dword [esi + 0x18]
call fcn.0048e09c
add esp, 4
movzx esi, ax
jmp 0x439380
cmp ax, word [esi]
je 0x4377cc
xor edx, edx
cmp dx, ax
jne 0x43779f
xor edi, edi
jmp 0x4377ab
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x4377bb
xor eax, eax
jmp 0x4377c7
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x4377d4
add esi, 2
jmp 0x437520
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1f0]
lea eax, [edx + edx*2]
mov edx, dword [edi + eax*8]
test edx, edx
je 0x43753b
cmp word [edx], 0
je 0x43753b
mov ebx, dword [ebp - 0x1d8]
mov byte [edi + eax*8 + 8], 1
cmp byte [ebx + 0x20], 0
je 0x437813
mov dword [ebx + 8], 0
mov ecx, dword [ebx]
call fcn.0041a840
mov ecx, dword [ebx + 8]
mov edi, eax
test ecx, ecx
je 0x43782b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, edi
mov dword [ebx + 8], edi
test ecx, ecx
mov byte [ebx + 0x20], 0
setne al
mov byte [ebx + 0x30], al
test ecx, ecx
je 0x437538
push 0x4c20ac
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x43785a
xor esi, esi
jmp 0x437873
cmp word [ebx + 0x10], 8
jne 0x437870
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x437873
mov esi, dword [ebx + 0x18]
push 0x4c20c4
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437889
xor eax, eax
jmp 0x4378a0
cmp word [ebx + 0x10], 8
jne 0x43789d
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
jmp 0x4378a0
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x1b8]
push 0
push eax
push esi
call fcn.0042f1e0
test eax, eax
jne 0x4378c4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437548
push eax
jmp 0x437540
mov ebx, dword [ebp - 0x1e8]
mov ecx, ebx
push 0
push 0x4c2144
call fcn.0041b1c0
mov esi, eax
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4378ea
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov byte [ebp - 0x4c], 0
test esi, esi
je 0x437908
cmp word [esi], ax
je 0x437908
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x437900
mov dword [ebp - 0x50], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov dword [ebp - 0x54], edx
test eax, eax
jle 0x437946
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
cmp ecx, eax
jl 0x437933
xor ecx, ecx
mov word [edx + eax*2], cx
mov ecx, ebx
push 0x4c2198
mov byte [ebp - 0x4c], 1
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437966
xor esi, esi
jmp 0x437981
cmp word [ebx + 0x10], 8
jne 0x43797d
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
movzx esi, ax
jmp 0x437981
movzx esi, word [ebx + 0x18]
mov edi, dword [ebp - 0x30]
push 4
mov dword [ebp - 0x2c], 0
call fcn.0048a2cb
xor ecx, ecx
mov dword [ebp - 0x30], eax
add esp, 4
mov word [eax + 2], cx
mov eax, dword [ebp - 0x30]
mov word [eax], cx
test edi, edi
je 0x4379b1
push edi
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x30]
mov word [eax], si
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x437a87
test si, si
je 0x437a87
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x28], 0
test eax, eax
jne 0x4379eb
cmp word [ecx], ax
je 0x4379e8
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x4379e0
mov dword [ebp - 0x2c], eax
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
cmp word [ecx*2 + 0x4c0010], 0
jne 0x4379f0
lea ebx, [ecx + eax]
mov edx, 2
xor ecx, ecx
lea eax, [ebx + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x30]
add esp, 4
mov edi, eax
mov ecx, edi
test edx, edx
je 0x437a41
movzx eax, word [edx]
test ax, ax
je 0x437a41
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x437a30
mov esi, 0x4c0010
mov edx, 0x3a
sub esi, ecx
nop dword [eax]
mov word [ecx], dx
lea ecx, [ecx + 2]
movzx eax, word [ecx + esi]
mov edx, eax
test ax, ax
jne 0x437a50
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437a76
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x1e8]
mov dword [ebp - 0x30], edi
jmp 0x437b0f
mov ebx, dword [ebp - 0x1e8]
mov ecx, ebx
push 0
push 0x4c3004
call fcn.0041b1c0
mov esi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437aad
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov byte [ebp - 0x28], 0
test esi, esi
je 0x437ac8
cmp word [esi], ax
je 0x437ac8
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x437ac0
mov dword [ebp - 0x2c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x30], edx
test eax, eax
jle 0x437b06
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
cmp ecx, eax
jl 0x437af3
xor ecx, ecx
mov word [edx + eax*2], cx
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x28], 1
test eax, eax
je 0x4392cc
cmp word [eax], 0
je 0x4392cc
test edi, edi
je 0x4392dc
cmp word [edi], 0
je 0x4392cc
push 0
push 0x4c23c4
mov ecx, ebx
call fcn.0041b1c0
mov esi, eax
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x437b5d
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov byte [ebp - 0x80], 0
test esi, esi
je 0x437b78
cmp word [esi], ax
je 0x437b78
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x437b70
mov dword [ebp - 0x84], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x84]
xor ecx, ecx
mov dword [ebp - 0x88], edx
test eax, eax
jle 0x437bc9
nop dword [eax]
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
cmp ecx, eax
jl 0x437bb0
xor ecx, ecx
mov word [edx + eax*2], cx
mov ecx, ebx
push 0x4c217c
mov byte [ebp - 0x80], 1
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437bf5
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
jmp 0x437c13
cmp word [ebx + 0x10], 8
jne 0x437c0d
push dword [ebx + 0x18]
call fcn.0048e0bf
add esp, 4
mov edi, eax
mov esi, edx
jmp 0x437c13
mov edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x1c]
push 0x4c047c
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437c35
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
jmp 0x437c4f
cmp word [ebx + 0x10], 8
jne 0x437c49
push dword [ebx + 0x18]
call fcn.0048e0bf
add esp, 4
jmp 0x437c4f
mov eax, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x1b8]
sub eax, edi
sbb edx, esi
cmp word [ebp - 0x204], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jne 0x437cae
mov ebx, dword [ebp - 0x1d8]
mov ecx, ebx
push 0x4c2130
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437c85
xor edx, edx
jmp 0x437ca0
cmp word [ebx + 0x10], 8
mov edx, dword [ebx + 0x18]
mov dword [ebp - 0x1ec], edx
jne 0x437ca6
push edx
call fcn.0048e09c
add esp, 4
mov edx, eax
mov dword [ebp - 0x1ec], edx
test dl, dl
jne 0x437e16
mov esi, dword [ebp - 0x30]
test esi, esi
jne 0x437ccd
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov byte [ebp - 0x28], 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
test esi, esi
je 0x437cfc
cmp word [esi], cx
je 0x437cfc
inc ecx
cmp word [esi + ecx*2], 0
jne 0x437cf4
xor eax, eax
nop
lea eax, [eax + 1]
cmp word [eax*2 + 0x4c3010], 0
jne 0x437d00
lea edi, [eax + ecx]
mov edx, 2
xor ecx, ecx
mov dword [ebp - 0x1dc], edi
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x20]
add esp, 4
mov ebx, eax
mov ecx, ebx
test edx, edx
je 0x437d67
movzx edi, word [edx]
test di, di
je 0x437d61
mov eax, edi
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x437d50
mov edi, dword [ebp - 0x1dc]
test esi, esi
je 0x437d91
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x437d91
sub esi, ecx
nop word [eax + eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x437d80
mov esi, 0x4c3010
mov edx, 0x57
sub esi, ecx
nop dword [eax]
mov word [ecx], dx
lea ecx, [ecx + 2]
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x437da0
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x437dc6
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x18], 1
test eax, eax
je 0x437de3
push eax
call fcn.00489f13
mov ebx, dword [ebp - 0x20]
add esp, 4
test ebx, ebx
jne 0x437dff
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
push ebx
mov byte [ebp - 0x18], 1
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, dword [ebp - 0x1d8]
mov byte [ebp - 0x1ec], al
mov edi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1cc]
lea eax, [eax + eax*2]
mov ecx, dword [edi + eax*8 + 0xc]
test ecx, ecx
je 0x4378b3
cmp word [ecx], 0
je 0x4378b3
mov byte [edi + eax*8 + 0x14], 1
mov edx, ecx
cmp byte [ebx + 0x20], 0
je 0x437e4f
mov dword [ebx + 8], 0
mov ecx, dword [ebx]
call fcn.0041a840
mov ecx, dword [ebx + 8]
mov edi, eax
test ecx, ecx
je 0x437e67
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, edi
mov dword [ebx + 8], edi
test ecx, ecx
mov byte [ebx + 0x20], 0
setne al
mov byte [ebx + 0x30], al
test ecx, ecx
je 0x4378b3
push 0x4c20c4
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437e96
xor esi, esi
jmp 0x437eaf
cmp word [ebx + 0x10], 8
jne 0x437eac
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x437eaf
mov esi, dword [ebx + 0x18]
push 0x4c20ac
mov ecx, ebx
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x437ec5
xor eax, eax
jmp 0x437edc
cmp word [ebx + 0x10], 8
jne 0x437ed9
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
jmp 0x437edc
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x1b8]
push 0
push esi
push eax
call fcn.0042f1e0
test eax, eax
jne 0x437f00
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437548
push eax
jmp 0x437540
push esi
lea ecx, [ebp - 0x70]
call fcn.00401f30
mov edx, dword [ebp - 0x70]
test edx, edx
jne 0x437f35
push 2
call fcn.0048a2cb
mov edx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov word [edx], ax
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x18], al
mov dword [ebp - 0x1c], eax
jmp 0x437f4a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov ecx, edx
mov dword [ebp - 0x1c4], esi
mov edi, 0x4c304c
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c0], edi
xor ebx, ebx
mov byte [ebp - 0x68], 1
nop dword [eax]
inc ebx
cmp word [ebx*2 + 0x4c3058], 0
jne 0x437f70
test edx, edx
jne 0x437f94
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0x1c8], ecx
jmp 0x437fba
xor eax, eax
cmp word [edx], ax
je 0x437fb8
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0x1c8], ecx
nop dword [eax]
inc eax
cmp word [edx + eax*2], 0
jne 0x437fb0
add ebx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c304c], 0
jne 0x437fc0
add ebx, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x20]
add esp, 4
mov dword [ebp - 0x1dc], eax
mov ecx, eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1e0], esi
mov esi, eax
test edx, edx
je 0x438051
mov esi, dword [ebp - 0x1c4]
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x1e0], esi
mov esi, eax
movzx eax, word [edx]
test ax, ax
je 0x438051
mov esi, dword [ebp - 0x1c4]
mov dword [ebp - 0x1e0], esi
mov esi, dword [ebp - 0x1c8]
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x438040
mov ebx, 0x4c3058
mov edx, 0x50
sub ebx, ecx
nop dword [eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [ebx + ecx]
mov edx, eax
test ax, ax
jne 0x438060
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x24]
test eax, eax
je 0x438096
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x438096
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x438085
mov eax, 0x20
nop dword [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4380a0
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4380c6
push eax
call fcn.00489f13
add esp, 4
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x18], 1
test ecx, ecx
je 0x4380ec
push ecx
call fcn.00489f13
mov eax, dword [ebp - 0x20]
add esp, 4
test eax, eax
jne 0x438108
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1b8]
push eax
push 0xffffffffffffffb0
mov byte [ebp - 0x18], 1
lea ecx, [ecx + 0x5b0]
call fcn.0041a070
mov ecx, dword [ebp - 0x1e8]
xorps xmm0, xmm0
push 0
push 0x4c2144
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x8c], 0
call fcn.0041b1c0
mov edi, eax
xor esi, esi
test edi, edi
je 0x43815c
cmp word [edi], si
je 0x43815c
inc esi
cmp word [edi + esi*2], 0
jne 0x438154
xor ecx, ecx
mov dword [ebp - 0x90], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
add esp, 4
mov ebx, eax
mov dword [ebp - 0x94], ebx
test esi, esi
jle 0x4381a0
mov ecx, ebx
sub edi, ebx
mov edx, esi
mov ax, word [edi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x438190
xor eax, eax
mov byte [ebp - 0x8c], 1
mov word [ebx + esi*2], ax
mov byte [ebp - 4], 0x47
cmp word [ebx], ax
jne 0x438d7f
mov edx, dword [ebp - 0x70]
test edx, edx
jne 0x4381e6
push 2
call fcn.0048a2cb
mov edx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov word [edx], ax
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x18], al
mov dword [ebp - 0x1c], eax
jmp 0x4381fb
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov ecx, edx
mov dword [ebp - 0x1c4], esi
mov edi, 0x4c304c
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c0], edi
xor ebx, ebx
mov byte [ebp - 0x68], 1
nop word [eax + eax]
inc ebx
cmp word [ebx*2 + 0x4c309c], 0
jne 0x438220
test edx, edx
jne 0x438244
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0x1c8], ecx
jmp 0x43826a
xor eax, eax
cmp word [edx], ax
je 0x438268
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0x1c8], ecx
nop dword [eax]
inc eax
cmp word [edx + eax*2], 0
jne 0x438260
add ebx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c304c], 0
jne 0x438270
add ebx, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x20]
add esp, 4
mov dword [ebp - 0x1dc], eax
mov ecx, eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1e0], esi
mov esi, eax
test edx, edx
je 0x438301
mov esi, dword [ebp - 0x1c4]
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x1e0], esi
mov esi, eax
movzx eax, word [edx]
test ax, ax
je 0x438301
mov esi, dword [ebp - 0x1c4]
mov dword [ebp - 0x1e0], esi
mov esi, dword [ebp - 0x1c8]
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x4382f0
mov ebx, 0x4c309c
mov edx, 0x46
sub ebx, ecx
nop dword [eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [ebx + ecx]
mov edx, eax
test ax, ax
jne 0x438310
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x24]
test eax, eax
je 0x438346
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x438346
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x438335
mov eax, 0x20
nop dword [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x438350
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x438376
push eax
call fcn.00489f13
add esp, 4
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x18], 1
test ecx, ecx
je 0x43839c
push ecx
call fcn.00489f13
mov eax, dword [ebp - 0x20]
add esp, 4
test eax, eax
jne 0x4383b8
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1b8]
push eax
push 0xffffffffffffffff
mov byte [ebp - 0x18], 1
lea ecx, [ecx + 0x5b0]
call fcn.0041a070
mov esi, dword [ebp - 0x1bc]
mov edi, 5
nop dword [eax + eax]
mov eax, dword [esi]
test eax, eax
je 0x4383ef
push eax
call fcn.00489f13
add esp, 4
mov dword [esi], 0
mov dword [esi + 4], 0
mov byte [esi + 8], 1
add esi, 0x20
sub edi, 1
jne 0x4383e0
mov dword [ebp - 0x4cc], edi
xor eax, eax
mov byte [ebp - 0x4c4], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c2144], 0
jne 0x438420
mov dword [ebp - 0x4c8], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x4c8]
xor ecx, ecx
mov dword [ebp - 0x4cc], edx
test eax, eax
jle 0x43847d
mov ax, word [ecx*2 + 0x4c2144]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x4c8]
mov edx, dword [ebp - 0x4cc]
cmp ecx, eax
jl 0x438460
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x4c4], 1
mov byte [ebp - 4], 0x48
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x4384ad
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x50], ecx
mov ebx, dword [ebp - 0x1f8]
mov eax, 8
push esi
mov byte [ebp - 0x4c], 1
mov word [ebp - 0x4bc], ax
call ebx
mov dword [ebp - 0x4b4], eax
test eax, eax
jne 0x4384d8
test esi, esi
jne 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x4cc]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x49
call fcn.00401560
lea eax, [ebp - 0x4bc]
push eax
lea eax, [esi + 0x10]
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov edi, dword [ebp - 0x1b4]
lea eax, [ebp - 0x4bc]
push eax
mov byte [ebp - 4], 0x47
call edi
mov eax, dword [ebp - 0x4cc]
test eax, eax
je 0x43852f
push eax
call fcn.00489f13
add esp, 4
cmp dword [ebp - 0x84], 0
jne 0x43856a
mov ecx, dword [ebp - 0x88]
test ecx, ecx
jne 0x43854d
mov dword [ebp - 0x84], ecx
jmp 0x438690
xor eax, eax
cmp word [ecx], ax
je 0x43855c
inc eax
cmp word [ecx + eax*2], 0
jne 0x438554
mov dword [ebp - 0x84], eax
test eax, eax
je 0x438690
mov dword [ebp - 0x4ec], 0
xor eax, eax
mov byte [ebp - 0x4e4], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c23c4], 0
jne 0x438580
mov dword [ebp - 0x4e8], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x4e8]
xor ecx, ecx
mov dword [ebp - 0x4ec], edx
test eax, eax
jle 0x4385dd
mov ax, word [ecx*2 + 0x4c23c4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x4e8]
mov edx, dword [ebp - 0x4ec]
cmp ecx, eax
jl 0x4385c0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x4e4], 1
mov byte [ebp - 4], 0x4a
mov esi, dword [ebp - 0x88]
test esi, esi
jne 0x438619
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x88], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0x84], ecx
mov eax, 8
mov byte [ebp - 0x80], 1
push esi
mov word [ebp - 0x4dc], ax
call ebx
mov dword [ebp - 0x4d4], eax
test eax, eax
jne 0x43863e
test esi, esi
jne 0x43a2bb
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x4ec]
push eax
mov byte [ebp - 4], 0x4b
lea ecx, [esi + 0x20]
call fcn.00401560
lea ecx, [ebp - 0x4dc]
lea eax, [esi + 0x30]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x47
push eax
call edi
mov eax, dword [ebp - 0x4ec]
test eax, eax
je 0x438690
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x24c], 0
xor eax, eax
mov byte [ebp - 0x244], 0
inc eax
cmp word [eax*2 + 0x4c30d0], 0
jne 0x4386a3
mov dword [ebp - 0x248], eax
xor ecx, ecx
inc eax
mov ebx, 2
mul ebx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x248]
xor ecx, ecx
mov dword [ebp - 0x24c], edx
test eax, eax
jle 0x438700
mov ax, word [ecx*2 + 0x4c30d0]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x248]
mov edx, dword [ebp - 0x24c]
cmp ecx, eax
jl 0x4386e3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x244], 1
xor eax, eax
mov word [ebp - 0x23c], bx
mov word [ebp - 0x234], ax
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [esi + 0x40]
call fcn.00401560
mov ebx, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x23c]
lea eax, [esi + 0x50]
push ecx
push eax
call ebx
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x47
push eax
call edi
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x43876b
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x2e4], 0
xor eax, eax
mov dword [ebp - 0x2ec], 0
nop
inc eax
cmp word [eax*2 + 0x4c30dc], 0
jne 0x438780
mov dword [ebp - 0x2e8], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x2e8]
xor ecx, ecx
mov dword [ebp - 0x2ec], edx
test eax, eax
jle 0x4387dd
mov ax, word [ecx*2 + 0x4c30dc]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2ec]
cmp ecx, eax
jl 0x4387c0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x2e4], 1
mov eax, 2
mov word [ebp - 0x2dc], ax
or eax, 0xffffffff
mov word [ebp - 0x2d4], ax
lea eax, [ebp - 0x2ec]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [esi + 0x60]
call fcn.00401560
lea ecx, [ebp - 0x2dc]
lea eax, [esi + 0x70]
push ecx
push eax
call ebx
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x2dc]
mov byte [ebp - 4], 0x47
push eax
call edi
mov eax, dword [ebp - 0x2ec]
test eax, eax
je 0x438848
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x43885a
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov ebx, dword [ebp - 0x1e8]
lea eax, [ebp - 0x100]
push eax
push 4
push dword [ebp - 0x1bc]
mov dword [ebp - 0x100], 0
mov edx, dword [ebx + 8]
mov ecx, dword [ebx]
push 0x4c30e8
call fcn.0041a920
test al, al
je 0x439308
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0x144]
mov edi, dword [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x52
push eax
call edi
test esi, esi
je 0x438914
mov eax, dword [esi]
lea ecx, [ebp - 0x144]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c04c0
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x438914
cmp word [ebp - 0x144], 8
jne 0x4388f7
push dword [ebp - 0x13c]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x4388fd
mov esi, dword [ebp - 0x13c]
lea eax, [ebp - 0x144]
push eax
call dword [ebp - 0x1b4]
test esi, esi
jne 0x439308
jmp 0x438921
lea eax, [ebp - 0x144]
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x100]
test eax, eax
je 0x438937
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 1
test edi, edi
je 0x438a6d
mov dword [ebp - 0x24], 0
push 0xc
mov byte [ebp - 4], 0x55
call fcn.0048a123
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x438993
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x438995
xor esi, esi
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x24], esi
test esi, esi
je 0x43a2bb
mov eax, dword [edi]
push esi
push 0
push edi
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jne 0x438a2d
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0x1a4]
mov edi, dword [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x58
push eax
call edi
test esi, esi
je 0x4392fb
mov eax, dword [esi]
lea ecx, [ebp - 0x1a4]
push 0
push 0
push ecx
mov eax, dword [eax + 0x10]
push 0
push 0x4c30f8
push esi
call eax
shr eax, 0x1f
xor al, 1
je 0x4392fb
cmp word [ebp - 0x1a4], 0xd
jne 0x4392fb
cmp dword [ebp - 0x200], 0
jne 0x438e4f
mov ecx, dword [ebp - 0x1d8]
push 0
push 0x4c1df8
call fcn.0041b1c0
mov ebx, eax
cmp ebx, 0x4bf950
je 0x438dc7
test ebx, ebx
je 0x438e4f
mov esi, 0x4bf950
sub ebx, esi
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x438e08
cmp word [esi], ax
jne 0x438e0d
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0xc4]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0xc]
add eax, dword [ebp - 0x1f0]
push eax
call fcn.00401560
push dword [ebp - 0x94]
call fcn.00489f13
mov eax, dword [ebp - 0x30]
add esp, 4
test eax, eax
je 0x437548
push eax
jmp 0x437540
cmp ax, word [esi]
je 0x438e47
xor edx, edx
cmp dx, ax
jne 0x438e18
xor edi, edi
jmp 0x438e24
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x438e34
xor eax, eax
jmp 0x438e40
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jb 0x438e4f
ja 0x438e4f
add esi, 2
jmp 0x438db7
cmp byte [ebp - 0x1ec], 0
je 0x438eb4
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0xb8]
lea eax, [eax + eax*2]
lea edi, [eax*8 + 0xc]
mov eax, dword [ebp - 0xb4]
add edi, dword [ebp - 0x1f0]
cmp esi, eax
jb 0x438e8c
test eax, eax
je 0x438e87
add eax, 0xa
jmp 0x438e8c
mov eax, 1
push eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004703c0
cmp dword [eax], esi
ja 0x438ea5
lea ecx, [esi + 1]
mov dword [eax], ecx
mov eax, dword [eax + 8]
lea ecx, [esi + esi*2]
push edi
lea ecx, [eax + ecx*4]
call fcn.00401560
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
movq qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov byte [ebp - 0x74], 1
mov ebx, dword [ebp - 0x1e8]
mov ecx, ebx
push 0x4c2198
mov byte [ebp - 4], 0x5b
call fcn.0041b0e0
cmp byte [ebx + 0x30], 0
jne 0x438ef5
xor esi, esi
jmp 0x438f10
cmp word [ebx + 0x10], 8
jne 0x438f0c
push dword [ebx + 0x18]
call fcn.0048e09c
add esp, 4
movzx esi, ax
jmp 0x438f10
movzx esi, word [ebx + 0x18]
mov edi, dword [ebp - 0x7c]
push 4
mov dword [ebp - 0x78], 0
call fcn.0048a2cb
xor ecx, ecx
mov dword [ebp - 0x7c], eax
add esp, 4
mov word [eax + 2], cx
mov eax, dword [ebp - 0x7c]
mov word [eax], cx
test edi, edi
je 0x438f40
push edi
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x7c]
mov word [eax], si
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x439017
test si, si
je 0x439017
mov eax, dword [ebp - 0x78]
mov byte [ebp - 0x74], 0
test eax, eax
jne 0x438f7b
cmp word [ecx], ax
je 0x438f78
nop word [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x438f70
mov dword [ebp - 0x78], eax
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
cmp word [ecx*2 + 0x4c0010], 0
jne 0x438f80
lea edi, [ecx + eax]
mov edx, 2
xor ecx, ecx
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x7c]
add esp, 4
mov ebx, eax
mov ecx, ebx
test edx, edx
je 0x438fd3
movzx esi, word [edx]
test si, si
je 0x438fd3
mov eax, esi
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x438fc2
mov esi, 0x4c0010
mov edx, 0x3a
sub esi, ecx
nop
mov word [ecx], dx
lea ecx, [ecx + 2]
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x438fe0
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x439006
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x1e8]
mov dword [ebp - 0x7c], ebx
jmp 0x43909c
mov edi, dword [ebp - 0x1e8]
mov ecx, edi
push 0
push 0x4c3004
call fcn.0041b1c0
mov esi, eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x43903d
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov byte [ebp - 0x74], 0
test esi, esi
je 0x439058
cmp word [esi], ax
je 0x439058
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x439050
mov dword [ebp - 0x78], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x78]
xor ecx, ecx
mov dword [ebp - 0x7c], edx
test eax, eax
jle 0x439096
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
cmp ecx, eax
jl 0x439083
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x30]
mov byte [ebp - 0x74], 1
test esi, esi
jne 0x4390bf
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov ebx, dword [ebp - 0x70]
mov byte [ebp - 0x28], 1
test ebx, ebx
jne 0x4390e1
push 2
call fcn.0048a2cb
mov ebx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], eax
mov word [ebx], ax
cmp dword [ebp - 0x7c], 0
mov byte [ebp - 0x68], 1
jne 0x439100
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x78], ecx
push ebx
push dword [ebp - 0x7c]
mov byte [ebp - 0x74], 1
push esi
mov esi, dword [ebp - 0x1b8]
mov ecx, esi
call fcn.0043bf80
mov edx, dword [edi + 8]
mov ebx, eax
mov ecx, dword [edi]
push 0
push 0
push 0
push 0x4c3164
mov dword [ebp - 0x1d0], ebx
call fcn.0041a920
mov dword [esi + 4], 0
cmp ebx, 1
jne 0x439314
mov edx, dword [ebp - 0x70]
test edx, edx
jne 0x43916f
push 2
call fcn.0048a2cb
mov edx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov word [edx], ax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x18], al
mov dword [ebp - 0x1c], eax
jmp 0x439184
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov esi, edx
mov dword [ebp - 0x1c4], ecx
mov byte [ebp - 0x68], 1
xor edi, edi
inc edi
cmp word [edi*2 + 0x4c3170], 0
jne 0x439192
test edx, edx
jne 0x4391aa
mov dword [ebp - 0x1c4], ecx
jmp 0x4391c1
xor eax, eax
cmp word [edx], ax
je 0x4391bf
mov dword [ebp - 0x1c4], ecx
inc eax
cmp word [edx + eax*2], 0
jne 0x4391b7
add edi, eax
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x20]
add esp, 4
mov dword [ebp - 0x24], eax
mov ecx, eax
test edx, edx
je 0x439202
movzx eax, word [edx]
test ax, ax
je 0x439202
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x4391f1
mov ebx, 0x4c3170
mov edx, 0x53
sub ebx, ecx
nop
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + ebx]
mov edx, eax
test ax, ax
jne 0x439210
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x439243
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x439243
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x439232
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x439258
push eax
call fcn.00489f13
add esp, 4
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x18], 1
test ecx, ecx
je 0x43927b
push ecx
call fcn.00489f13
mov eax, dword [ebp - 0x20]
add esp, 4
test eax, eax
jne 0x439297
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp - 0x1b8]
push ecx
push eax
mov byte [ebp - 0x18], 1
lea ecx, [ebx + 0x5b0]
call fcn.00419f00
cmp dword [ebx], 0
jne 0x43930f
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x438de9
push eax
call fcn.00489f13
add esp, 4
jmp 0x438de9
test edi, edi
je 0x4392dc
push edi
call fcn.00489f13
mov eax, dword [ebp - 0x54]
add esp, 4
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x4392f2
push ecx
call fcn.00489f13
mov eax, dword [ebp - 0x54]
add esp, 4
mov byte [ebp - 4], 0x41
jmp 0x437562
lea eax, [ebp - 0x1a4]
push eax
call dword [ebp - 0x1b4]
mov edi, 0xfffffff2
jmp 0x43932a
or edi, 0xffffffff
jmp 0x43931a
mov edi, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x43932a
push eax
call fcn.00489f13
add esp, 4
push dword [ebp - 0x94]
call fcn.00489f13
mov eax, dword [ebp - 0x30]
add esp, 4
test eax, eax
je 0x439348
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x43935b
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x43a1a9
push eax
call fcn.00489f13
add esp, 4
jmp 0x43a1a9
or edi, 0xffffffff
jmp 0x43a1a9
movzx esi, word [esi + 0x18]
test si, si
je 0x439428
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x439399
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x40], 0
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4c0540], 0
jne 0x4393a0
mov dword [ebp - 0x44], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x48], edx
test eax, eax
jle 0x4393f7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c0540]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
cmp ecx, eax
jl 0x4393e0
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x40], 1
test eax, eax
jne 0x439420
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
mov word [eax], si
jmp 0x43956f
lea ecx, [ebp - 0x48]
call fcn.0041e1f0
mov byte [ebp - 0x304], 0
xor eax, eax
mov dword [ebp - 0x30c], 0
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x439443
mov dword [ebp - 0x308], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x308]
xor ecx, ecx
mov dword [ebp - 0x30c], edx
test eax, eax
jle 0x4394a0
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x30c]
cmp ecx, eax
jl 0x439483
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x304], 1
mov byte [ebp - 4], 0x65
mov esi, dword [ebp - 0x48]
test esi, esi
jne 0x4394d0
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
mov eax, 8
mov byte [ebp - 0x40], 1
push esi
mov word [ebp - 0x2fc], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x2f4], eax
test eax, eax
jne 0x4394f9
test esi, esi
jne 0x43a2bb
mov ebx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x30c]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x66
call fcn.00401560
lea ecx, [ebp - 0x2fc]
lea eax, [ebx + 0x10]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2cb
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x64
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x30c]
test eax, eax
je 0x43954e
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1b8]
push 0
push 1
push ebx
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
push 0x4c322c
call fcn.0041a920
mov ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x439599
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov word [eax], cx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x5c], cl
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x48]
jmp 0x4395ab
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov esi, ecx
mov byte [ebp - 0x40], 1
mov ebx, 0x4c3248
xor edi, edi
nop dword [eax + eax]
inc edi
cmp word [edi*2 + 0x4c325c], 0
jne 0x4395c0
test ecx, ecx
je 0x4395e1
xor eax, eax
cmp word [ecx], ax
je 0x4395df
inc eax
cmp word [ecx + eax*2], 0
jne 0x4395d7
add edi, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c3248], 0
jne 0x4395e3
add edi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x24], edi
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edi, 0x4c325c
mov dword [ebp - 0x1cc], eax
add esp, 4
mov ecx, eax
mov edx, 0x20
sub edi, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [edi + ecx]
mov edx, eax
test ax, ax
jne 0x439624
mov edi, dword [ebp - 0x24]
test esi, esi
je 0x439657
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x439657
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x439646
mov eax, 0x20
nop dword [eax]
mov word [ecx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
lea ecx, [ecx + 2]
test ax, ax
jne 0x439660
mov ebx, dword [ebp - 0x1cc]
xor eax, eax
mov word [ecx], ax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], edi
mov byte [ebp - 0x5c], 1
jmp 0x43968a
xor ebx, ebx
mov edi, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov dword [ebp - 0x1c4], ecx
test eax, eax
je 0x439fed
mov edx, dword [ebp - 0x1bc]
add edi, 0x1a0
add edx, 0x10
mov dword [ebp - 0x1d8], edi
mov dword [ebp - 0x1e0], edx
cmp eax, ecx
ja 0x4396ce
lea eax, [ecx + 1]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb0]
lea ecx, [ecx + ecx*2]
cmp dword [eax + ecx*4], 0
lea esi, [eax + ecx*4]
jne 0x4396f4
push 2
call fcn.0048a2cb
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 4], ecx
mov byte [esi + 8], 1
cmp byte [edi + 0x20], 0
mov edx, dword [esi]
je 0x439707
mov dword [edi + 8], 0
mov ecx, dword [edi]
call fcn.0041a840
mov ecx, dword [edi + 8]
mov esi, eax
test ecx, ecx
je 0x43971f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
test esi, esi
mov dword [edi + 8], esi
mov byte [edi + 0x20], 0
setne al
mov byte [edi + 0x30], al
cmp dword [edi + 8], 0
je 0x439fd2
push 0x4c2198
mov ecx, edi
call fcn.0041b0e0
cmp byte [edi + 0x30], 0
jne 0x43975f
lea ecx, [ebp - 0x3c]
xor esi, esi
call fcn.0041e1f0
mov dword [ebp - 0x32c], esi
jmp 0x439846
cmp word [edi + 0x10], 8
jne 0x439776
push dword [edi + 0x18]
call fcn.0048e09c
add esp, 4
movzx ebx, ax
jmp 0x43977a
movzx ebx, word [edi + 0x18]
mov dword [ebp - 0x1ec], ebx
movzx esi, bx
test bx, bx
je 0x439834
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x43979c
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x34], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c0540], 0
jne 0x4397a2
mov dword [ebp - 0x38], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x3c], edx
test eax, eax
jle 0x4397f7
nop dword [eax]
mov ax, word [ecx*2 + 0x4c0540]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
cmp ecx, eax
jl 0x4397e0
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 0x34], 1
test eax, eax
jne 0x439820
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov esi, dword [ebp - 0x1b4]
mov word [eax], bx
mov ebx, dword [ebp - 0x1e0]
jmp 0x43998d
lea ecx, [ebp - 0x3c]
call fcn.0041e1f0
mov dword [ebp - 0x32c], 0
mov byte [ebp - 0x324], 0
xor eax, eax
nop
inc eax
movzx edi, si
cmp word [eax*2 + 0x4c3214], 0
jne 0x439850
mov dword [ebp - 0x328], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x328]
xor ecx, ecx
mov dword [ebp - 0x32c], edx
mov ebx, edi
mov dword [ebp - 0x1ec], ebx
test eax, eax
jle 0x4398c0
mov eax, edi
mov dword [ebp - 0x1ec], eax
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x328]
mov edx, dword [ebp - 0x32c]
cmp ecx, eax
jl 0x4398a3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x324], 1
mov byte [ebp - 4], 0x67
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x4398f0
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov eax, 8
mov byte [ebp - 0x34], 1
push esi
mov word [ebp - 0x31c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x314], eax
test eax, eax
jne 0x439919
test esi, esi
jne 0x43a2bb
mov edi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x32c]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x68
call fcn.00401560
mov ebx, dword [ebp - 0x1e0]
lea eax, [ebp - 0x31c]
push eax
push ebx
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
mov esi, dword [ebp - 0x1b4]
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0x64
call esi
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x439973
push eax
call fcn.00489f13
add esp, 4
push 0
push 1
push edi
mov edi, dword [ebp - 0x1d8]
push 0x4c322c
mov edx, dword [edi + 8]
mov ecx, dword [edi]
call fcn.0041a920
cmp dword [ebp - 0x200], 0
je 0x439bdb
mov dword [ebp - 0x50c], 0
xor eax, eax
mov byte [ebp - 0x504], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2130], 0
jne 0x4399b0
mov dword [ebp - 0x508], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x508]
xor ecx, ecx
mov dword [ebp - 0x50c], edx
test eax, eax
jle 0x439a0d
mov ax, word [ecx*2 + 0x4c2130]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x508]
mov edx, dword [ebp - 0x50c]
cmp ecx, eax
jl 0x4399f0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x504], 1
mov eax, 2
mov word [ebp - 0x4fc], ax
or eax, 0xffffffff
mov word [ebp - 0x4f4], ax
mov ecx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x50c]
push eax
mov byte [ebp - 4], 0x6a
call fcn.00401560
lea eax, [ebp - 0x4fc]
push eax
push ebx
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x4fc]
mov byte [ebp - 4], 0x64
push eax
call esi
mov eax, dword [ebp - 0x50c]
test eax, eax
je 0x439a7c
push eax
call fcn.00489f13
add esp, 4
mov edx, dword [edi + 8]
mov ecx, dword [edi]
push 0
push 1
push dword [ebp - 0x1bc]
push 0x4c3268
call fcn.0041a920
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jne 0x439abf
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov word [eax], cx
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x5c], cl
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x3c]
jmp 0x439ad1
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov edx, dword [ebp - 0x1cc]
mov esi, ecx
mov edi, 0x4c3284
mov byte [ebp - 0x34], 1
xor ebx, ebx
inc ebx
cmp word [ebx*2 + 0x4c325c], 0
jne 0x439ae4
test ecx, ecx
je 0x439b0a
xor eax, eax
cmp word [ecx], ax
je 0x439b08
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x439b00
add ebx, eax
xor eax, eax
nop dword [eax]
inc eax
mov dword [ebp - 0x1dc], edx
cmp word [eax*2 + 0x4c3284], 0
jne 0x439b10
add ebx, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov ebx, 0x4c325c
mov dword [ebp - 0x1cc], eax
add esp, 4
mov ecx, eax
mov edx, 0x20
sub ebx, eax
nop word [eax + eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [ebx + ecx]
mov edx, eax
test ax, ax
jne 0x439b60
mov ebx, dword [ebp - 0x24]
test esi, esi
je 0x439b93
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x439b93
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x439b82
mov eax, 0x20
nop dword [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x439ba0
mov edi, dword [ebp - 0x1cc]
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x5c], 1
test eax, eax
je 0x439be1
push eax
call fcn.00489f13
add esp, 4
jmp 0x439be1
mov edi, dword [ebp - 0x1cc]
test edi, edi
jne 0x439c02
push 2
call fcn.0048a2cb
mov edi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x1cc], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], eax
mov word [edi], ax
mov esi, dword [ebp - 0x3c]
mov byte [ebp - 0x5c], 1
test esi, esi
jne 0x439c25
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 0x34], 1
test ecx, ecx
jne 0x439c50
push 2
call fcn.0048a2cb
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], eax
mov word [ecx], ax
mov eax, dword [ebp - 0x1f4]
mov ebx, 0x4c3298
mov dword [ebp - 0x24], eax
xor eax, eax
mov byte [ebp - 0x98], 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x1dc], edi
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
test ecx, ecx
je 0x439c99
cmp word [ecx], ax
je 0x439c99
inc eax
cmp word [ecx + eax*2], 0
jne 0x439c91
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp word [ecx*2 + 0x4c32ac], 0
jne 0x439ca0
add ecx, eax
test esi, esi
je 0x439cca
xor eax, eax
cmp word [esi], ax
je 0x439cc8
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x439cc0
add ecx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c3298], 0
jne 0x439cd0
add ecx, eax
test edi, edi
je 0x439cfa
xor eax, eax
cmp word [edi], ax
je 0x439cf8
nop dword [eax]
inc eax
cmp word [edi + eax*2], 0
jne 0x439cf0
add ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x204], ecx
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov dword [ebp - 0x1f4], eax
mov edx, eax
mov eax, dword [ebp - 0xa0]
add esp, 4
test eax, eax
je 0x439d51
movzx ecx, word [eax]
mov edi, ecx
test cx, cx
je 0x439d51
mov edi, eax
sub edi, edx
nop dword [eax]
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x439d40
mov edi, 0x4c32ac
mov ecx, 0x5c
sub edi, edx
nop dword [eax]
mov word [edx], cx
add edx, 2
movzx eax, word [edi + edx]
mov ecx, eax
test ax, ax
jne 0x439d60
test esi, esi
je 0x439d91
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x439d91
nop
mov word [edx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add edx, 2
test ax, ax
jne 0x439d80
mov eax, 0x5c
mov word [edx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
add edx, 2
test ax, ax
jne 0x439d96
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x439ddd
movzx eax, word [ebx]
mov ecx, eax
test ax, ax
je 0x439ddd
nop dword [eax + eax]
mov word [edx], ax
add edx, 2
mov eax, dword [ebp - 0x1dc]
add eax, 2
mov dword [ebp - 0x1dc], eax
movzx eax, word [eax]
test ax, ax
jne 0x439dc0
mov esi, dword [ebp - 0x1f4]
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x94], esi
test eax, eax
je 0x439e0a
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0xa0]
mov byte [ebp - 0x8c], 1
test eax, eax
jne 0x439e36
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov word [eax], cx
push 1
push 0
push eax
mov edx, esi
mov byte [ebp - 0x98], 1
call fcn.004082b0
test eax, eax
je 0x439e54
mov ecx, 0xfffffff0
jmp 0x439e72
mov eax, dword [ebp - 0x1b8]
push ecx
add eax, 0x5b0
push 0x4c32c8
mov ecx, eax
call fcn.00419f00
mov ecx, dword [ebp - 0x1d0]
xor al, al
mov dword [ebp - 0x52c], 0
mov byte [ebp - 0x524], al
xor eax, eax
nop word [eax + eax]
inc eax
mov esi, ecx
cmp word [eax*2 + 0x4c3214], 0
jne 0x439e90
mov dword [ebp - 0x528], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
mov dword [ebp - 0x1d0], esi
mov eax, dword [ebp - 0x528]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x52c], edx
test eax, eax
jle 0x439efd
mov dword [ebp - 0x1d0], esi
nop
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x528]
mov edx, dword [ebp - 0x52c]
cmp ecx, eax
jl 0x439ee0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x524], 1
mov byte [ebp - 4], 0x6b
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x439f2d
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov eax, 8
mov byte [ebp - 0x34], 1
push esi
mov word [ebp - 0x51c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x514], eax
test eax, eax
jne 0x439f56
test esi, esi
jne 0x43a2d1
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x52c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x6c
call fcn.00401560
mov edx, dword [ebp - 0x1e0]
lea eax, [ebp - 0x51c]
push eax
push edx
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2a9
lea eax, [ebp - 0x51c]
mov byte [ebp - 4], 0x64
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x52c]
test eax, eax
je 0x439fae
push eax
call fcn.00489f13
add esp, 4
cmp word [ebp - 0x1ec], 0
mov edi, dword [ebp - 0x1d8]
jne 0x439fd2
mov edx, dword [edi + 8]
mov ecx, dword [edi]
push 0
push 1
push esi
push 0x4c3314
call fcn.0041a920
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0xb8]
inc ecx
mov dword [ebp - 0x1c4], ecx
cmp eax, ecx
ja 0x4396ce
mov dword [ebp - 0x54c], 0
xor eax, eax
mov byte [ebp - 0x544], 0
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x43a000
mov dword [ebp - 0x548], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x548]
xor ecx, ecx
mov dword [ebp - 0x54c], edx
test eax, eax
jle 0x43a05d
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x548]
mov edx, dword [ebp - 0x54c]
cmp ecx, eax
jl 0x43a040
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x544], 1
mov byte [ebp - 4], 0x6d
mov esi, dword [ebp - 0x48]
test esi, esi
jne 0x43a08d
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
mov eax, 8
mov byte [ebp - 0x40], 1
push esi
mov word [ebp - 0x53c], ax
call dword [ebp - 0x1f8]
mov dword [ebp - 0x534], eax
test eax, eax
jne 0x43a0b6
test esi, esi
jne 0x43a2d1
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x54c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x6e
call fcn.00401560
lea ecx, [ebp - 0x53c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x1d4]
test eax, eax
js 0x43a2db
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x64
push eax
call dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x54c]
test eax, eax
je 0x43a10b
push eax
call fcn.00489f13
add esp, 4
cmp dword [ebp - 0x48], 0
jne 0x43a126
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x48]
cmp word [eax], 0
je 0x43a150
mov eax, dword [ebp - 0x1b8]
push 0
push 1
push esi
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
push 0x4c3314
call fcn.0041a920
test ebx, ebx
je 0x43a15d
push ebx
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1f4]
test eax, eax
je 0x43a170
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x43a183
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x43a193
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x43a1a3
push eax
call fcn.00489f13
add esp, 4
mov edi, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0xb0]
test esi, esi
je 0x43a1e1
push 0x401610
mov byte [ebp - 4], 0x6f
push dword [esi - 4]
push 0xc
push esi
call fcn.0048a1a8
mov eax, dword [esi - 4]
lea ecx, [esi - 4]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push ecx
call fcn.00489f18
add esp, 8
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x43a1f4
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x43a204
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x1f0]
test eax, eax
je 0x43a23a
push 0x470590
lea esi, [eax - 4]
mov byte [ebp - 4], 0x70
push dword [esi]
push 0x18
push eax
call fcn.0048a1a8
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 4]
push eax
push esi
call fcn.00489f18
add esp, 8
mov eax, dword [ebp - 0x1fc]
test eax, eax
je 0x43a24d
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x208]
test eax, eax
je 0x435085
push eax
call fcn.00489f13
add esp, 4
jmp 0x435085
mov dword [ebp - 0x1d0], 0
mov edi, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x43a289
push ecx
call fcn.00489f13
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00489f05
mov esp, ebp
pop ebp
ret 4
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
int3