Function at 0x445d30
Capabilities:
Reference sql statements

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e689
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e0
mov eax, dword [0x4d7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3b4], edi
mov eax, dword [edi + 0xbc]
lea ecx, [edi + 0x2e8]
cmp eax, 0xffffffff
jne 0x445d8c
mov eax, dword [ecx]
mov edx, dword [edi + 0x2e4]
test edx, edx
je 0x448587
cmp eax, 1
jl 0x448587
cmp eax, dword [ecx]
jg 0x448587
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x448587
cmp dword [edx + eax*8], 0xf
jne 0x448587
push 2
push 0xffffffffffffffff
push 0x100c
push dword [edx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
test esi, esi
js 0x448587
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
movq qword [ebp - 0x90], xmm0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x88], 1
mov dword [ebp - 4], 0
xor eax, eax
movq qword [ebp - 0x9c], xmm0
xor edi, edi
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x9c], eax
mov byte [ebp - 0x94], 1
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x3b4]
push esi
movq qword [ebp - 0xe0], xmm0
push dword [eax + 0xbc]
lea ecx, [eax + 0x2a8]
call fcn.00416470
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], eax
mov byte [ebp - 0xd8], 1
xorps xmm0, xmm0
mov dword [ebp - 0xcc], edi
movq qword [ebp - 0xd4], xmm0
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xd4], edi
mov byte [ebp - 0xcc], 1
mov eax, dword [ebp - 0x3b4]
push 3
push esi
mov byte [ebp - 4], 3
push dword [eax + 0xbc]
lea ecx, [eax + 0x2a8]
call fcn.00416470
mov ecx, eax
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0x3ec], ecx
lea edx, [edi + 2]
test ecx, ecx
jne 0x445f0b
mov byte [ebp - 0xcc], al
mov eax, 1
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x3ec], ecx
mov word [ecx], ax
mov byte [ebp - 0xcc], 1
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x445f3f
push 2
call fcn.0048a02b
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], eax
mov word [ecx], ax
mov byte [ebp - 0xcc], 1
xor esi, esi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x84], ecx
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
nop dword [eax]
inc esi
cmp word [esi*2 + str.SELECT__FROM_MSFT_Disk_WHERE_Number_], 0
jne 0x445f70
test ecx, ecx
je 0x445f91
xor eax, eax
cmp word [ecx], ax
je 0x445f8f
inc eax
cmp word [ecx + eax*2], 0
jne 0x445f87
add esi, eax
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edi, str.SELECT__FROM_MSFT_Disk_WHERE_Number_
mov dword [ebp - 0x3c8], eax
add esp, 4
mov ecx, eax
mov edx, 0x53
sub edi, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + edi]
mov edx, eax
test ax, ax
jne 0x445fc1
mov eax, dword [ebp - 0x3ec]
mov edi, 0
test eax, eax
je 0x446004
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x446004
mov edi, dword [ebp - 0x84]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x445ff1
xor edi, edi
xor eax, eax
mov dword [ebp - 0x8c], esi
mov word [ecx], ax
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x88], 1
cmp byte [ecx + 0x150], 0
lea esi, [ecx + 0x138]
jne 0x44604f
mov ecx, dword [esi]
test ecx, ecx
je 0x446049
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3b4]
mov dword [esi], 0
mov edx, eax
mov ecx, dword [ecx + 0x130]
call fcn.0041a750
mov edx, dword [ebp - 0x3b4]
mov esi, eax
mov ecx, dword [edx + 0x134]
test ecx, ecx
je 0x446080
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edx, dword [ebp - 0x3b4]
test esi, esi
mov dword [edx + 0x134], esi
mov ecx, esi
mov byte [edx + 0x150], 0
setne al
mov byte [edx + 0x160], al
test ecx, ecx
je 0x448515
mov eax, dword [ecx]
lea edx, [ebp - 0x84]
push edx
lea edx, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
push edx
push 1
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0x84], 0
call dword [eax + 0x10]
mov edx, dword [ebp - 0x3b4]
mov esi, dword [ebp - 0x36c]
mov ecx, dword [edx + 0x138]
test ecx, ecx
je 0x4460f0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edx, dword [ebp - 0x3b4]
test esi, esi
mov dword [edx + 0x138], esi
mov byte [edx + 0x150], 0
setne al
cmp dword [edx + 0x138], 0
mov byte [edx + 0x160], al
je 0x448515
xorps xmm0, xmm0
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x100], 0
movups xmmword [ebp - 0xf0], xmm0
push ecx
mov byte [ebp - 4], 4
lea eax, [edx + 0x2a8]
movaps xmm0, xmmword [0x4cd010]
lea ecx, [ebp - 0x100]
push 0
push dword [edx + 0x54]
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe8], 0xd
push dword [edx + 0x44]
mov dword [ebp - 0xe4], 0
push eax
call fcn.00417480
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x3e8]
test ecx, ecx
jne 0x4461a2
push 2
call fcn.0048a02b
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], eax
mov word [ecx], ax
xor eax, eax
mov byte [ebp - 0xd8], 1
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
test ecx, ecx
je 0x4461d8
cmp word [ecx], ax
je 0x4461d8
nop
inc eax
cmp word [ecx + eax*2], 0
jne 0x4461d0
xor ecx, ecx
nop word [eax + eax]
lea ecx, [ecx + 1]
cmp word [ecx*2 + 0x4c4e70], 0
jne 0x4461e0
lea esi, [ecx + eax]
mov edx, 2
xor ecx, ecx
mov dword [ebp - 0x3c4], esi
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov ecx, dword [ebp - 0x3e8]
add esp, 4
mov dword [ebp - 0x3c0], eax
mov edx, eax
test ecx, ecx
je 0x446251
movzx ecx, word [ecx]
mov esi, ecx
mov dword [ebp - 0x84], esi
test cx, cx
je 0x446251
mov esi, dword [ebp - 0x3e8]
movzx ecx, cx
sub esi, eax
mov word [edx], cx
add edx, 2
movzx eax, word [edx + esi]
mov ecx, eax
test ax, ax
jne 0x446240
mov esi, 0x4c4e70
mov ecx, 0x20
sub esi, edx
nop dword [eax]
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edx + esi]
mov ecx, eax
test ax, ax
jne 0x446260
mov esi, dword [ebp - 0x3c4]
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x8c], esi
mov esi, dword [ebp - 0x3c8]
push esi
mov dword [ebp - 0x90], eax
call fcn.00489c73
mov esi, dword [ebp - 0x3b4]
add esp, 4
push dword [esi + 0x4d8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4462c1
mov eax, dword [esi + 0x4d8]
mov dword [ebp - 0x3e4], eax
jmp 0x4462cb
mov dword [ebp - 0x3e4], 0
push 0x268
lea eax, [ebp - 0x368]
push 0
push eax
call fcn.0048b770
add esp, 0xc
mov byte [ebp - 0x88], 1
mov word [ebp - 0x330], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x258], 0
mov byte [ebp - 0x250], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x368]
push 1
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
call fcn.00417000
push ecx
push dword [ebp - 0x3e4]
add esi, 0x22c
lea eax, [ebp - 0x368]
push 0xffffffffffffffff
push SysReAllocString
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x118
cmovne eax, esi
lea ecx, [ebp - 0x368]
mov esi, dword [ebp - 0x3c0]
push 0x226
push esi
push 0x4c3cf8
mov dword [ebp - 0x1a8], eax
call fcn.0040bf80
push ecx
push 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff000000
push 0x118
push 0x226
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 7
call fcn.004167f0
cmp dword [ebp - 0x3e4], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x84], eax
je 0x446430
mov eax, dword [ebp - 0x3b4]
xor esi, esi
add eax, 0x2f8
mov dword [ebp - 0x36c], eax
nop word [eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x446408
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x446408
mov eax, dword [ebp - 0x36c]
inc esi
add eax, 4
mov dword [ebp - 0x36c], eax
cmp esi, 0x30
jl 0x4463e0
jmp 0x44642a
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x84]
mov dword [ecx + esi*4 + 0x2f8], eax
inc esi
cmp esi, dword [ecx + 0x2f4]
jle 0x44642a
mov dword [ecx + 0x2f4], esi
mov esi, dword [ebp - 0x3c0]
movsd xmm0, qword [0x4cc780]
xor eax, eax
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xffffff
movsd qword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1f0], 0x2bc
mov byte [ebp - 0x1ec], 1
mov byte [ebp - 0x1aa], 0
nop
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x446470
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1ea]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
mov dword [ebp - 0x178], 0x1400
lea ecx, [ebp - 0x368]
mov byte [ebp - 0x88], 1
call fcn.00416d40
test al, al
je 0x44651d
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x1c
push 0x21c
push 5
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000300
push eax
push esi
push 0x4c018c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x44651d
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cce50]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc780]
xor eax, eax
mov dword [ebp - 0x178], 0x400
movsd qword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1f0], 0x2bc
mov byte [ebp - 0x1ec], 1
mov byte [ebp - 0x1aa], 0
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x446551
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1ea]
push 0x20
push eax
call fcn.0048cf13
mov eax, dword [ebp - 0x3c4]
add esp, 0x10
mov byte [ebp - 0x88], 0
test eax, eax
jne 0x44659e
cmp word [esi], ax
je 0x446598
nop dword [eax + eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x446590
mov dword [ebp - 0x8c], eax
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4c4e94], 0
jne 0x4465a0
add eax, ecx
mov edx, 2
mov dword [ebp - 0x3e0], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edi, 0x4c4e94
mov dword [ebp - 0x3c8], eax
add esp, 4
mov edx, esi
mov ecx, eax
mov esi, 0x20
sub edi, eax
mov word [ecx], si
add ecx, 2
movzx eax, word [edi + ecx]
mov esi, eax
test ax, ax
jne 0x4465e4
mov esi, dword [ebp - 0x3c0]
movzx eax, word [esi]
mov edi, eax
mov dword [ebp - 0x84], edi
mov edi, 0
test ax, ax
je 0x446624
movzx eax, ax
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x446613
xor eax, eax
push esi
mov word [ecx], ax
call fcn.00489c73
mov eax, dword [ebp - 0x3e0]
lea ecx, [ebp - 0x368]
mov esi, dword [ebp - 0x3c8]
add esp, 4
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x88], 1
call fcn.00416d40
test al, al
je 0x4466cd
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x1c
push 0x21c
push 5
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000300
push eax
push esi
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x4c018c
push 0
call esi
test eax, eax
je 0x4466d3
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cce50]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
jmp 0x4466d3
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
movsd xmm0, qword [0x4cc770]
xor eax, eax
movsd qword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1f0], 0x190
mov byte [ebp - 0x1ec], 1
mov byte [ebp - 0x1aa], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4bff50], di
jne 0x446700
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1ea]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
je 0x446798
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0x3c
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4c4e9c
push 0x4c018c
push 0
call esi
test eax, eax
je 0x446798
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc990]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
jne 0x4467ab
xor esi, esi
jmp 0x44681a
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0x3c
and eax, 1
push 0xa0
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4c4ebc
push 0x4c019c
push 0
call esi
test eax, eax
jne 0x4467f5
xor esi, esi
jmp 0x44681a
push eax
push 0x15
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
mov esi, eax
movaps xmm0, xmmword [0x4cc9a0]
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
jne 0x446831
mov dword [ebp - 0x3c4], edi
jmp 0x4468ac
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0x3c
and eax, 1
push 0x140
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4c4ecc
push 0x4c019c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x446883
mov dword [ebp - 0x3c4], edi
jmp 0x4468ac
push eax
push 0x15
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
movaps xmm0, xmmword [0x4cc9b0]
mov dword [ebp - 0x3c4], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
je 0x446925
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 2
push 0x1fe
push 0x5f
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0
push 0x4c018c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x446925
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc820]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0
push ecx
lea ecx, [ebp - 0x368]
call fcn.004136f0
mov ecx, dword [ebp - 0x3b4]
push 0x4c4edc
lea ecx, [ecx + 0x130]
call fcn.0041b170
mov ecx, dword [ebp - 0x3b4]
cmp byte [ecx + 0x160], 0
jne 0x44695c
xor eax, eax
jmp 0x446975
cmp word [ecx + 0x140], 8
mov eax, dword [ecx + 0x148]
jne 0x446975
push eax
call fcn.0048ddfc
add esp, 4
test eax, eax
lea ecx, [ebp - 0x368]
push 4
setne byte [ebp - 0x3d9]
test eax, eax
cmovne esi, dword [ebp - 0x3c4]
push esi
call fcn.00414360
test byte [ebp - 0x120], 1
jne 0x4469a5
or dword [ebp - 0x120], 1
lea ecx, [ebp - 0x368]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x446a20
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0x78
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4c4ef0
push 0x4c018c
push 0
call esi
test eax, eax
je 0x446a20
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc9c0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
jne 0x446a33
xor esi, esi
jmp 0x446aa2
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x6e
push 0x78
and eax, 1
push 0xa0
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4c4f0c
push 0x4c019c
push 0
call esi
test eax, eax
jne 0x446a7d
xor esi, esi
jmp 0x446aa2
push eax
push 0x15
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
mov esi, eax
movaps xmm0, xmmword [0x4cca80]
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
jne 0x446ab9
mov dword [ebp - 0x3c0], edi
jmp 0x446b34
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x6e
push 0x78
and eax, 1
push 0x140
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4c4f24
push 0x4c019c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x446b0b
mov dword [ebp - 0x3c0], edi
jmp 0x446b34
push eax
push 0x15
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
movaps xmm0, xmmword [0x4cca90]
mov dword [ebp - 0x3c0], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
mov ecx, dword [ebp - 0x3b4]
add ecx, 0x130
push 0x4c4f38
call fcn.0041b170
mov ecx, dword [ebp - 0x3b4]
cmp byte [ecx + 0x160], 0
jne 0x446b5d
xor eax, eax
jmp 0x446b76
cmp word [ecx + 0x140], 8
mov eax, dword [ecx + 0x148]
jne 0x446b76
push eax
call fcn.0048ddfc
add esp, 4
test eax, eax
lea ecx, [ebp - 0x368]
push 4
setne byte [ebp - 0x3da]
test eax, eax
cmovne esi, dword [ebp - 0x3c0]
push esi
call fcn.00414360
test byte [ebp - 0x120], 1
jne 0x446ba6
or dword [ebp - 0x120], 1
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
je 0x446c22
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 2
push 0x1fe
push 0x9b
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0
push 0x4c018c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x446c22
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc830]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0
push ecx
lea ecx, [ebp - 0x368]
call fcn.004136f0
mov esi, dword [ebp - 0x3b4]
push 0x4c1f08
lea ecx, [esi + 0x130]
call fcn.0041b170
cmp byte [esi + 0x160], 0
jne 0x446c53
xor ecx, ecx
jmp 0x446c77
cmp word [esi + 0x140], 8
jne 0x446c70
push dword [esi + 0x148]
call fcn.0048ddfc
add esp, 4
movzx ecx, ax
jmp 0x446c77
movzx ecx, word [esi + 0x148]
cmp cx, 2
mov dword [ebp - 0x3e4], ecx
mov edx, 0x4c4f5c
mov dword [ebp - 0x3d0], 0xffffffff
mov ecx, esi
mov dword [ebp - 0xa0], edi
mov eax, 0x4c4f50
xorps xmm0, xmm0
push 0
cmovne eax, edx
movq qword [ebp - 0xa8], xmm0
push eax
lea ecx, [ecx + 0x130]
call fcn.0041b250
xor esi, esi
mov dword [ebp - 0x84], eax
test eax, eax
je 0x446cd7
cmp word [eax], si
je 0x446cd7
nop word [eax + eax]
inc esi
cmp word [eax + esi*2], di
jne 0x446cd0
xor ecx, ecx
mov dword [ebp - 0xa4], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0xa8], eax
test esi, esi
jle 0x446d26
mov edx, dword [ebp - 0x84]
mov ecx, eax
sub edx, eax
mov edi, esi
nop
mov ax, word [edx + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edi, 1
jne 0x446d10
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
mov byte [ebp - 0xa0], 1
mov word [eax + esi*2], cx
mov eax, dword [ebp - 0x3e4]
mov byte [ebp - 4], 8
cmp ax, 2
jne 0x446e77
lea ecx, [ebp - 0x368]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x446dc5
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0xb6
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4c4f70
push 0x4c018c
push 0
call esi
test eax, eax
je 0x446dc5
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc9d0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
mov byte [ebp - 0xa0], 1
call fcn.00416d40
test al, al
jne 0x446dea
mov dword [ebp - 0x3d0], 0
jmp 0x446faf
test byte [ebp - 0x120], 1
mov eax, 0x50020080
push 0
push dword [ebp - 0x24c]
mov ecx, 0x50000080
cmovne ecx, eax
mov eax, dword [ebp - 0x328]
inc eax
or ecx, 0x10000
push eax
push dword [ebp - 0x134]
push 0x14
push 0x118
push 0xb4
push 0xa0
push ecx
push dword [ebp - 0xa8]
push 0x4c0220
push 0x200
call esi
test eax, eax
jne 0x446e4d
mov dword [ebp - 0x3d0], eax
jmp 0x446faf
push eax
push 0xc
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
mov esi, eax
movaps xmm0, xmmword [0x4cccf0]
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x446fa9
cmp ax, 1
jne 0x446faf
lea ecx, [ebp - 0x368]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x446eff
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x12
push 0x5a
push 0xb6
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4c4f88
push 0x4c018c
push 0
call esi
test eax, eax
je 0x446eff
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc9d0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x368]
mov byte [ebp - 0xa0], 1
call fcn.00416d40
test al, al
jne 0x446f24
mov dword [ebp - 0x3d0], 0
jmp 0x446faf
test byte [ebp - 0x120], 1
mov eax, 0x50022080
push 0
push dword [ebp - 0x24c]
mov ecx, 0x50002080
cmovne ecx, eax
mov eax, dword [ebp - 0x328]
inc eax
or ecx, 0x10000
push eax
push dword [ebp - 0x134]
push 0x14
push 0x118
push 0xb4
push 0xa0
push ecx
push dword [ebp - 0xa8]
push 0x4c0220
push 0x200
call esi
test eax, eax
jne 0x446f84
mov dword [ebp - 0x3d0], eax
jmp 0x446faf
push eax
push 0xc
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cccf0]
mov esi, eax
mov eax, dword [ebp - 0x32c]
lea ecx, [esi + esi*8]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov dword [ebp - 0x3d0], esi
lea ecx, [ebp - 0x368]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x44702a
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 2
push 0x1fe
push 0x5f
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0
push 0x4c018c
push 0
call esi
test eax, eax
je 0x44702a
push eax
push 0xd
lea ecx, [ebp - 0x368]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc820]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x32c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0
push ecx
lea ecx, [ebp - 0x368]
call fcn.004136f0
cmp dword [ebp - 0x138], 0
je 0x4470be
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
je 0x4470be
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x1e
push 0x64
push 0xf2
and eax, 1
push 0x122
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4c033c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x4470be
push eax
push 3
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
movaps xmm0, xmmword [0x4cced0]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x4470c0
xor eax, eax
sub esp, 8
mov dword [ebp - 0x3d8], eax
lea ecx, [ebp - 0x368]
push 0x4c4258
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0x138], 0
je 0x44716b
lea ecx, [ebp - 0x368]
call fcn.00416d40
test al, al
je 0x44716b
mov eax, dword [ebp - 0x328]
push 0
push dword [ebp - 0x24c]
inc eax
push eax
push dword [ebp - 0x134]
movzx eax, byte [ebp - 0x120]
push 0x20
push 0x78
push 0xf0
and eax, 1
push 0x19a
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4c4fa8
push 0x4c019c
push 0
call esi
test eax, eax
je 0x44716b
push eax
push 3
lea ecx, [ebp - 0x368]
call fcn.00416ab0
mov ecx, dword [ebp - 0x32c]
movaps xmm0, xmmword [0x4ccf50]
mov dword [ebp - 0x36c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x447175
mov dword [ebp - 0x36c], 0
sub esp, 8
lea ecx, [ebp - 0x368]
push 0x4c4fc4
push 0xffffffffffffffff
call fcn.00415120
mov esi, dword [ebp - 0x3d8]
mov eax, 0x1b
mov word [ebp - 0x1a], ax
mov eax, dword [ebp - 0x124]
mov byte [ebp - 0x1c], 1
mov word [ebp - 0x18], si
test eax, eax
je 0x4471b2
push eax
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
push 1
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_CreateAcceleratorTableW]
xor ecx, ecx
cmp eax, 0xffffffff
push 1
cmove eax, ecx
lea ecx, [ebp - 0x368]
push 1
mov dword [ebp - 0x124], eax
call fcn.0040db40
mov ecx, dword [ebp - 0x3b4]
push 0
call fcn.004284d0
test eax, eax
je 0x447441
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ecx + 0x22c]
cmp eax, 0xfffffffa
je 0x44850d
lea edx, [ebp - 0x368]
cmp dword [ecx + 0x25c], edx
jne 0x44742c
cmp eax, esi
je 0x44850d
cmp eax, dword [ebp - 0x36c]
jne 0x44742c
push 0x43a370
push 0x445d00
push 3
push 0x20
lea eax, [ebp - 0x80]
push eax
call fcn.0048a060
push 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x368]
push dword [ebp - 0x3c4]
call fcn.00415560
push 4
push dword [ebp - 0x3c0]
test eax, eax
mov dword [ebp - 0x3e0], eax
lea ecx, [ebp - 0x368]
setne byte [ebp - 0x3c9]
call fcn.00415560
push dword [ebp - 0x3d0]
test eax, eax
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x368]
setne byte [ebp - 0x3b5]
call fcn.00415800
mov esi, eax
mov eax, dword [ebp - 0x3c8]
test esi, esi
jne 0x4472dc
test eax, eax
je 0x4472b4
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x3c8], eax
xor ecx, ecx
mov word [eax], cx
jmp 0x4472fb
test eax, eax
je 0x4472e9
push eax
call fcn.00489c73
add esp, 4
mov eax, esi
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 0x8c], 0
mov cl, byte [ebp - 0x3d9]
mov byte [ebp - 0x88], 1
mov dword [ebp - 0x90], eax
cmp byte [ebp - 0x3c9], cl
jne 0x4473e2
mov cl, byte [ebp - 0x3da]
cmp byte [ebp - 0x3b5], cl
jne 0x4473e2
mov ecx, dword [ebp - 0xa8]
mov byte [ebp - 0xa0], 1
cmp eax, ecx
je 0x447360
test eax, eax
je 0x4473e2
sub eax, ecx
mov esi, ecx
mov dword [ebp - 0x3d4], eax
nop
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x447389
cmp word [esi], ax
jne 0x44738e
push ecx
mov ecx, dword [ebp - 0x3b4]
lea eax, [ebp - 0x368]
push 0x1c2
push 0x96
push eax
push 0
push 0x4c5000
call fcn.00432b40
jmp 0x447410
cmp ax, word [esi]
je 0x4473d4
xor edx, edx
cmp dx, ax
jne 0x44739d
mov dword [ebp - 0x3f0], edx
jmp 0x4473af
push ecx
call fcn.0048dee4
movzx eax, ax
add esp, 4
mov dword [ebp - 0x3f0], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x4473bf
xor eax, eax
jmp 0x4473cb
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp word [ebp - 0x3f0], ax
jne 0x4473e2
mov eax, dword [ebp - 0x3d4]
add esi, 2
jmp 0x447350
mov esi, dword [ebp - 0x3b4]
lea eax, [ebp - 0x368]
push ecx
push 0x1c2
push 0x96
push eax
push 1
push 0x4c5040
mov ecx, esi
call fcn.00432b40
test eax, eax
jne 0x4474d8
push 0x43a370
push 3
push 0x20
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 8
push eax
call fcn.00489f08
mov esi, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3b4]
push 0
call fcn.004284d0
test eax, eax
jne 0x4471f0
mov edi, 1
push dword [ebp - 0xa8]
call fcn.00489c73
add esp, 4
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x1a
call fcn.0040c540
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x447476
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x447489
push eax
call fcn.00489c73
add esp, 4
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0x100]
test ecx, ecx
je 0x4474c2
test esi, esi
je 0x448537
push dword [ebp - 0xe8]
lea eax, [ebp - 0x100]
push dword [ebp - 0xf8]
push eax
call fcn.0040c930
call fcn.00403550
test esi, esi
je 0x448537
push esi
call fcn.00489c73
add esp, 4
jmp 0x448537
mov dword [ebp - 0x370], 0
mov al, byte [ebp - 0x3d9]
mov byte [ebp - 4], 0xe
cmp byte [ebp - 0x3c9], al
je 0x447827
mov edi, dword [ebp - 0x3e0]
lea eax, [ebp - 0x370]
mov edx, dword [esi + 0x138]
mov ecx, 0x4c4ebc
push eax
push 0
test edi, edi
mov eax, 0x4c4ecc
push 0
cmove eax, ecx
mov ecx, dword [esi + 0x130]
push eax
call fcn.0041a9b0
test al, al
je 0x4475f8
mov esi, dword [ebp - 0x370]
lea eax, [ebp - 0x380]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
push eax
call edi
lea eax, [ebp - 0x380]
mov byte [ebp - 4], 0xf
push eax
call edi
test esi, esi
je 0x4475bf
mov eax, dword [esi]
lea ecx, [ebp - 0x380]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x4475bf
cmp word [ebp - 0x380], 8
jne 0x4475a5
push dword [ebp - 0x378]
call fcn.0048ddfc
add esp, 4
mov byte [ebp - 4], 0xe
mov edi, eax
lea eax, [ebp - 0x380]
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
jmp 0x4475d3
mov edi, dword [ebp - 0x378]
lea eax, [ebp - 0x380]
mov byte [ebp - 4], 0xe
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
jmp 0x4475d3
lea eax, [ebp - 0x380]
mov byte [ebp - 4], 0xe
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
xor edi, edi
cmp dword [ebp - 0x3e0], 0
mov eax, 0x4c50c4
mov esi, 0x4c50b4
mov ecx, 0x4c510c
cmove esi, eax
test edi, edi
mov eax, 0x4c50e8
cmovne eax, ecx
jmp 0x44760c
mov eax, 0x4c50c4
test edi, edi
mov esi, 0x4c50b4
cmove esi, eax
mov eax, 0x4c510c
mov edi, 0x4c50d4
mov dword [ebp - 0x98], 0
mov byte [ebp - 0x94], 0
xor edx, edx
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d0], edi
mov dword [ebp - 0x3c4], esi
mov dword [ebp - 0x3c0], 0x4c50ac
mov dword [ebp - 0x9c], 0
inc edx
cmp word [edx*2 + 0x4c5128], 0
jne 0x447650
xor ecx, ecx
cmp word [eax], cx
je 0x447699
mov edi, 0x4c50ac
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3c0], edi
mov edi, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c4], edi
mov edi, 0x4c50d4
mov dword [ebp - 0x3d0], edi
mov edi, dword [ebp - 0x3e0]
inc ecx
cmp word [edi + ecx*2], 0
jne 0x447691
add edx, ecx
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
cmp word [ecx*2 + 0x4c50d4], 0
jne 0x4476a0
lea edi, [ecx + edx]
test esi, esi
jne 0x4476d5
mov ecx, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3d8], eax
jmp 0x44770a
xor ecx, ecx
cmp word [esi], cx
je 0x447708
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c0], edx
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x3d0], edx
inc ecx
cmp word [eax + ecx*2], 0
jne 0x447700
add edi, ecx
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c50ac], 0
jne 0x447710
add edi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x3c4], edi
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edi, 0x4c5128
mov dword [ebp - 0x3bc], eax
add esp, 4
mov ecx, eax
mov edx, 0x54
sub edi, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + edi]
mov edx, eax
test ax, ax
jne 0x447754
mov edx, dword [ebp - 0x3d8]
test edx, edx
je 0x4477a1
movzx eax, word [edx]
mov edx, eax
mov dword [ebp - 0x3d4], edx
mov edx, dword [ebp - 0x3d8]
test ax, ax
je 0x4477a1
movzx eax, ax
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x447790
mov edi, dword [ebp - 0x3d0]
mov eax, 0x20
nop dword [eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x4477b0
test esi, esi
je 0x4477e1
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x4477e1
nop
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x4477d0
mov edi, dword [ebp - 0x3c0]
mov eax, 0x2e
nop dword [eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4477f0
mov esi, dword [ebp - 0x3bc]
xor eax, eax
mov edi, dword [ebp - 0x3c4]
mov word [ecx], ax
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], edi
mov byte [ebp - 0x94], 1
jmp 0x447829
xor esi, esi
mov al, byte [ebp - 0x3da]
cmp byte [ebp - 0x3b5], al
je 0x447b92
mov dword [ebp - 0xc8], 0
xor eax, eax
mov byte [ebp - 0xc0], 0
nop
inc eax
cmp word [eax*2 + 0x4c4f38], 0
jne 0x447850
mov dword [ebp - 0xc4], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dword [ebp - 0xc8], edx
test eax, eax
jle 0x4478ad
mov ax, word [ecx*2 + 0x4c4f38]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
cmp ecx, eax
jl 0x447890
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0xc0], 1
mov eax, dword [ebp - 0x84]
neg eax
mov word [ebp - 0xb8], si
sbb eax, eax
movzx eax, ax
mov word [ebp - 0xb0], ax
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0x11
push eax
push 1
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x3b4]
push 0x4c3248
mov edx, dword [eax + 0x138]
mov ecx, dword [eax + 0x130]
call fcn.0041a9b0
test al, al
je 0x4479b2
mov esi, dword [ebp - 0x370]
lea eax, [ebp - 0x390]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x390]
mov byte [ebp - 4], 0x12
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x44799a
mov eax, dword [esi]
lea ecx, [ebp - 0x390]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x44799a
cmp word [ebp - 0x390], 8
jne 0x447981
push dword [ebp - 0x388]
call fcn.0048ddfc
add esp, 4
mov byte [ebp - 4], 0x11
mov esi, eax
lea eax, [ebp - 0x390]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4479ad
mov esi, dword [ebp - 0x388]
lea eax, [ebp - 0x390]
push eax
mov byte [ebp - 4], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4479ad
lea eax, [ebp - 0x390]
mov byte [ebp - 4], 0x11
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor esi, esi
test esi, esi
sete al
cmp dword [ebp - 0x84], 0
mov ecx, 0x4c513c
mov edx, 0x4c5148
mov byte [ebp - 0x94], 0
cmove ecx, edx
mov esi, 0x4c50e8
test al, al
mov dword [ebp - 0x3e0], ecx
mov eax, 0x4c510c
cmove esi, eax
mov dword [ebp - 0x3d4], esi
test edi, edi
jne 0x447a0e
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x447a08
cmp word [eax], di
je 0x447a08
nop dword [eax + eax]
inc edi
cmp word [eax + edi*2], 0
jne 0x447a00
mov dword [ebp - 0x98], edi
xor eax, eax
lea eax, [eax + 1]
cmp word [eax*2 + 0x4c5160], 0
jne 0x447a10
lea edx, [eax + edi]
xor eax, eax
cmp word [esi], ax
je 0x447a30
inc eax
cmp word [esi + eax*2], 0
jne 0x447a28
add edx, eax
xor eax, eax
cmp word [ecx], ax
je 0x447a48
nop dword [eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x447a40
lea edi, [eax + edx]
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c50ac], 0
jne 0x447a50
add edi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x3c4], edi
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov dword [ebp - 0x84], eax
mov edx, eax
mov eax, dword [ebp - 0x3bc]
add esp, 4
test eax, eax
je 0x447ab5
movzx ecx, word [eax]
mov eax, ecx
test cx, cx
je 0x447ab5
mov esi, dword [ebp - 0x3bc]
sub esi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + esi]
mov ecx, eax
test ax, ax
jne 0x447aa4
mov esi, 0x4c5160
mov ecx, 0x54
sub esi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + esi]
mov ecx, eax
test ax, ax
jne 0x447ac1
mov esi, dword [ebp - 0x3d4]
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x447af3
mov word [edx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add edx, 2
test ax, ax
jne 0x447ae2
mov ecx, dword [ebp - 0x3e0]
movzx eax, word [ecx]
mov esi, eax
test ax, ax
je 0x447b14
mov word [edx], ax
lea ecx, [ecx + 2]
movzx eax, word [ecx]
add edx, 2
test ax, ax
jne 0x447b03
mov eax, 0x2e
mov edi, 0x4c50ac
nop
mov word [edx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea edx, [edx + 2]
test ax, ax
jne 0x447b20
mov edi, dword [ebp - 0x3c4]
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x447b4f
push eax
call fcn.00489c73
add esp, 4
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0xb8]
push eax
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], edi
mov byte [ebp - 0x94], 1
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x447b92
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x3e4]
cmp ax, 2
jne 0x448134
mov ecx, dword [ebp - 0x3c8]
mov edx, dword [ebp - 0xa8]
mov byte [ebp - 0xa0], 1
cmp ecx, edx
je 0x447bee
test ecx, ecx
je 0x447dd5
mov eax, ecx
mov esi, edx
sub eax, edx
mov dword [ebp - 0x3d4], eax
nop dword [eax]
movzx eax, word [esi + eax]
mov ecx, eax
test ax, ax
jne 0x447d7c
cmp word [esi], ax
jne 0x447d81
mov esi, dword [ebp - 0x3bc]
mov eax, 2
test edi, edi
jne 0x447c0e
test esi, esi
je 0x447c08
cmp word [esi], di
je 0x447c08
inc edi
cmp word [esi + edi*2], 0
jne 0x447c00
mov dword [ebp - 0x98], edi
cmp edi, eax
cmovle eax, edi
test edi, edi
je 0x447c25
sub edi, eax
xor eax, eax
mov dword [ebp - 0x98], edi
mov word [esi + edi*2], ax
mov byte [ebp - 0x94], 0
test edi, edi
jne 0x447c4e
test esi, esi
je 0x447c48
cmp word [esi], di
je 0x447c48
nop dword [eax]
inc edi
cmp word [esi + edi*2], 0
jne 0x447c40
mov dword [ebp - 0x98], edi
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c5210], 0
jne 0x447c50
add eax, edi
xor ecx, ecx
mov dword [ebp - 0x84], eax
mov edx, 2
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edi, 0x4c5210
mov dword [ebp - 0x3d4], eax
add esp, 4
mov edx, esi
mov ecx, eax
mov esi, 0x4f
sub edi, eax
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edi]
mov esi, eax
test ax, ax
jne 0x447c94
mov edi, dword [ebp - 0x3bc]
test edi, edi
je 0x447cd1
movzx eax, word [edi]
mov esi, eax
test ax, ax
je 0x447cd1
nop dword [eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x447cc0
xor eax, eax
mov word [ecx], ax
test edi, edi
je 0x447ce3
push edi
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x3d4]
mov ecx, eax
mov esi, dword [ebp - 0x3b4]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x84]
push ecx
push 0x1c2
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x368]
push 0xc8
push ecx
push 0
push eax
mov ecx, esi
mov byte [ebp - 0x94], 1
call fcn.00432b40
mov edx, dword [esi + 0x138]
lea eax, [ebp - 0x370]
mov ecx, dword [esi + 0x130]
push eax
push 0
push 0
push 0x4c2018
call fcn.0041a9b0
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x447d61
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x43a370
push 3
push 0x20
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 8
push eax
call fcn.00489f08
jmp 0x447441
cmp ax, word [esi]
je 0x447dc7
xor edx, edx
cmp dx, ax
jne 0x447d90
mov dword [ebp - 0x84], edx
jmp 0x447da2
push ecx
call fcn.0048dee4
movzx eax, ax
add esp, 4
mov dword [ebp - 0x84], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447db2
xor eax, eax
jmp 0x447dbe
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp word [ebp - 0x84], ax
jne 0x447dd5
mov eax, dword [ebp - 0x3d4]
add esi, 2
jmp 0x447bd0
xor al, al
mov dword [ebp - 0xc8], 0
mov byte [ebp - 0xc0], al
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c4f50], 0
jne 0x447df0
mov dword [ebp - 0xc4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dword [ebp - 0xc8], edx
test eax, eax
jle 0x447e4d
mov ax, word [ecx*2 + 0x4c4f50]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
cmp ecx, eax
jl 0x447e30
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0xc0], 1
mov esi, dword [ebp - 0x3c8]
mov byte [ebp - 4], 0x13
test esi, esi
jne 0x447e8b
push 2
call fcn.0048a02b
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], eax
mov word [esi], ax
mov eax, 8
mov byte [ebp - 0x88], 1
push esi
mov word [ebp - 0xb8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x447eb7
test esi, esi
jne 0x4485c8
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0x14
push eax
push 1
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x3b4]
push 0x4c3248
mov edx, dword [eax + 0x138]
mov ecx, dword [eax + 0x130]
call fcn.0041a9b0
test al, al
je 0x447f96
mov esi, dword [ebp - 0x370]
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x3a0]
mov byte [ebp - 4], 0x15
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x447f7c
mov eax, dword [esi]
lea ecx, [ebp - 0x3a0]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x447f7c
cmp word [ebp - 0x3a0], 8
jne 0x447f63
push dword [ebp - 0x398]
call fcn.0048ddfc
add esp, 4
mov byte [ebp - 4], 0x14
mov esi, eax
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x447f8f
mov esi, dword [ebp - 0x398]
lea eax, [ebp - 0x3a0]
push eax
mov byte [ebp - 4], 0x14
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x447f8f
lea eax, [ebp - 0x3a0]
mov byte [ebp - 4], 0x14
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor esi, esi
test esi, esi
sete al
test al, al
mov ecx, 0x4c50e8
mov byte [ebp - 0x94], 0
mov eax, 0x4c510c
cmove ecx, eax
mov dword [ebp - 0x36c], ecx
test edi, edi
jne 0x447fd1
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x447fcb
cmp word [eax], di
je 0x447fcb
inc edi
cmp word [eax + edi*2], 0
jne 0x447fc3
mov dword [ebp - 0x98], edi
xor eax, eax
nop dword [eax]
nop word [eax + eax]
lea eax, [eax + 1]
cmp word [eax*2 + 0x4c51b0], 0
jne 0x447fe0
lea edx, [edi + eax]
xor eax, eax
cmp word [ecx], ax
je 0x448000
inc eax
cmp word [ecx + eax*2], 0
jne 0x447ff8
lea edi, [eax + edx]
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c51a0], 0
jne 0x448010
add edi, eax
xor ecx, ecx
mov edx, 2
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov dword [ebp - 0x84], eax
mov edx, eax
mov eax, dword [ebp - 0x3bc]
add esp, 4
test eax, eax
je 0x448071
movzx ecx, word [eax]
mov eax, ecx
test cx, cx
je 0x448071
mov esi, dword [ebp - 0x3bc]
sub esi, edx
nop
mov word [edx], cx
add edx, 2
movzx eax, word [esi + edx]
mov ecx, eax
test ax, ax
jne 0x448060
mov esi, 0x4c51b0
mov ecx, 0x54
sub esi, edx
nop dword [eax]
mov word [edx], cx
add edx, 2
movzx eax, word [esi + edx]
mov ecx, eax
test ax, ax
jne 0x448080
mov ecx, dword [ebp - 0x36c]
movzx eax, word [ecx]
mov esi, eax
mov dword [ebp - 0x3d4], esi
mov esi, 0x4c51a0
test ax, ax
je 0x4480c1
movzx eax, ax
nop
mov word [edx], ax
lea ecx, [ecx + 2]
movzx eax, word [ecx]
add edx, 2
test ax, ax
jne 0x4480b0
mov eax, 0x20
mov word [edx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea edx, [edx + 2]
test ax, ax
jne 0x4480c6
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x4480ef
push eax
call fcn.00489c73
add esp, 4
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0xb8]
push eax
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], edi
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x447bee
push eax
call fcn.00489c73
add esp, 4
jmp 0x447bee
cmp ax, 1
jne 0x447bee
mov ecx, dword [ebp - 0x3c8]
mov edx, dword [ebp - 0xa8]
mov byte [ebp - 0xa0], al
cmp ecx, edx
je 0x447bee
test ecx, ecx
je 0x4481dc
mov eax, ecx
mov esi, edx
sub eax, edx
mov dword [ebp - 0x3d4], eax
nop dword [eax]
movzx eax, word [esi + eax]
mov ecx, eax
test ax, ax
jne 0x448186
cmp word [esi], ax
je 0x447be8
jmp 0x44818b
cmp ax, word [esi]
je 0x4481d1
xor edx, edx
cmp dx, ax
jne 0x44819a
mov dword [ebp - 0x84], edx
jmp 0x4481ac
push ecx
call fcn.0048dee4
movzx eax, ax
add esp, 4
mov dword [ebp - 0x84], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x4481bc
xor eax, eax
jmp 0x4481c8
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp word [ebp - 0x84], ax
jne 0x4481dc
mov eax, dword [ebp - 0x3d4]
add esi, 2
jmp 0x448170
xor al, al
mov dword [ebp - 0xc8], 0
mov byte [ebp - 0xc0], al
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c4f5c], 0
jne 0x4481f0
mov dword [ebp - 0xc4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dword [ebp - 0xc8], edx
test eax, eax
jle 0x44824d
mov ax, word [ecx*2 + 0x4c4f5c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
cmp ecx, eax
jl 0x448230
xor ecx, ecx
mov word [edx + eax*2], cx
lea ecx, [ebp - 0x90]
mov byte [ebp - 0xc0], 1
call fcn.00402080
mov ecx, 0x17
mov dword [ebp - 0xb0], eax
mov word [ebp - 0xb8], cx
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0x16
push eax
push 1
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x3b4]
push 0x4c3248
mov edx, dword [eax + 0x138]
mov ecx, dword [eax + 0x130]
call fcn.0041a9b0
test al, al
je 0x448356
mov esi, dword [ebp - 0x370]
lea eax, [ebp - 0x3b0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x3b0]
mov byte [ebp - 4], 0x17
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x44833c
mov eax, dword [esi]
lea ecx, [ebp - 0x3b0]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x44833c
cmp word [ebp - 0x3b0], 8
jne 0x448323
push dword [ebp - 0x3a8]
call fcn.0048ddfc
add esp, 4
mov byte [ebp - 4], 0x16
mov esi, eax
lea eax, [ebp - 0x3b0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x44834f
mov esi, dword [ebp - 0x3a8]
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x16
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x44834f
lea eax, [ebp - 0x3b0]
mov byte [ebp - 4], 0x16
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor esi, esi
test esi, esi
sete al
test al, al
mov ecx, 0x4c50e8
mov byte [ebp - 0x94], 0
mov eax, 0x4c510c
cmove ecx, eax
mov dword [ebp - 0x36c], ecx
test edi, edi
jne 0x448391
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x44838b
cmp word [eax], di
je 0x44838b
inc edi
cmp word [eax + edi*2], 0
jne 0x448383
mov dword [ebp - 0x98], edi
xor eax, eax
nop dword [eax]
nop word [eax + eax]
lea eax, [eax + 1]
cmp word [eax*2 + 0x4c51dc], 0
jne 0x4483a0
lea edx, [eax + edi]
xor eax, eax
cmp word [ecx], ax
je 0x4483c0
inc eax
cmp word [ecx + eax*2], 0
jne 0x4483b8
lea edi, [eax + edx]
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4c51a0], 0
jne 0x4483d0
add edi, eax
xor ecx, ecx
mov edx, 2
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov dword [ebp - 0x84], eax
mov edx, eax
mov eax, dword [ebp - 0x3bc]
add esp, 4
test eax, eax
je 0x448431
movzx ecx, word [eax]
mov eax, ecx
test cx, cx
je 0x448431
mov esi, dword [ebp - 0x3bc]
sub esi, edx
nop
mov word [edx], cx
add edx, 2
movzx eax, word [esi + edx]
mov ecx, eax
test ax, ax
jne 0x448420
mov esi, 0x4c51dc
mov ecx, 0x54
sub esi, edx
nop dword [eax]
mov word [edx], cx
add edx, 2
movzx eax, word [esi + edx]
mov ecx, eax
test ax, ax
jne 0x448440
mov ecx, dword [ebp - 0x36c]
movzx eax, word [ecx]
mov esi, eax
mov dword [ebp - 0x3d4], esi
mov esi, 0x4c51a0
test ax, ax
je 0x448481
movzx eax, ax
nop
mov word [edx], ax
lea ecx, [ecx + 2]
movzx eax, word [ecx]
add edx, 2
test ax, ax
jne 0x448470
mov eax, 0x20
mov word [edx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea edx, [edx + 2]
test ax, ax
jne 0x448486
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x4484af
push eax
call fcn.00489c73
add esp, 4
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0xb8]
push eax
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], edi
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x4484fc
push eax
call fcn.00489c73
mov ecx, dword [ebp - 0x90]
add esp, 4
mov dword [ebp - 0x3c8], ecx
jmp 0x447bee
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x3c8], eax
jmp 0x447bee
or edi, 0xffffffff
jmp 0x447446
push ecx
push 0x1c2
push 0x96
lea eax, [edx + 0x2a8]
mov ecx, edx
push eax
push 0
push 0x4c49e0
call fcn.00432b40
xor edi, edi
mov eax, dword [ebp - 0x3ec]
test eax, eax
je 0x44854a
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x3e8]
test eax, eax
je 0x44855d
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x448570
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x3c8]
test eax, eax
je 0x448583
push eax
call fcn.00489c73
add esp, 4
mov eax, edi
jmp 0x4485aa
push ecx
push 0x1c2
push 0x96
lea eax, [edi + 0x2a8]
mov ecx, edi
push eax
push 0
push 0x4c3bf0
call fcn.00432b40
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00489c65
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x8007000e
call fcn.00489900
int3