Function at 0x409180
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44b79c
mov eax, dword fs:[0]
push eax
sub esp, 0x6e8
mov eax, dword [0x460620]
xor eax, esp
mov dword [esp + 0x6e0], eax
push ebx
push esi
push edi
mov eax, dword [0x460620]
xor eax, esp
push eax
lea eax, [esp + 0x6f8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x140], 8
mov dword [esp + 0x40], eax
mov edi, ecx
mov esi, edx
jb 0x4091dc
mov ecx, dword [eax + 0x12c]
jmp 0x4091e2
lea ecx, [eax + 0x12c]
lea edx, [esp + 0x4e4]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4091f0
push edi
lea eax, [esp + 0x4e8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x4e4]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40bb89
xor ebx, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x10], ebx
push ebx
mov dword [esp + 0x704], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, dword [sym.imp.ole32.dll_CoCreateInstance]
lea edx, [esp + 0x60]
push edx
push 0x454d88
push 1
push ebx
push 0x454d98
mov dword [esp + 0x74], ebx
call edi
cmp eax, ebx
jl 0x409266
cmp dword [esp + 0x60], ebx
jne 0x40927a
lea eax, [esp + 0x60]
push eax
push 0x454d88
push 1
push ebx
push 0x454da8
call edi
lea ecx, [esp + 0x4e4]
lea edx, [esp + 0x60]
mov byte [esp + 0x700], 1
call fcn.004156e0
test eax, eax
jne 0x4092bf
mov byte [esp + 0x700], bl
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x4092ad
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x40bb85
lea eax, [esp + 0x60]
push eax
call fcn.004157e0
mov edi, vtable.CXmlNodeWrapper.0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], eax
lea ecx, [esp + 0x100]
push ecx
mov ecx, esi
mov byte [esp + 0x704], 2
call fcn.00415450
mov dword [esp + 0xdc], eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], eax
lea edx, [esp + 0x54]
push edx
mov ecx, str.dsfonts_font
mov byte [esp + 0x704], 3
call fcn.00415560
mov dword [esp + 0xcc], eax
mov dword [esp + 0x138], 0x454d74
mov dword [esp + 0x13c], eax
cmp eax, ebx
mov byte [esp + 0x700], 4
jne 0x40934b
mov dword [esp + 0x2c], ebx
jmp 0x40936a
mov ecx, dword [eax]
lea edx, [esp + 0x64]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x64]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
jle 0x4096a3
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0xcc]
cmp eax, ebx
jne 0x409393
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x4093af
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x18]
push ecx
push eax
call edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 5
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x4093ff
cmp esi, ebx
mov byte [esp + 0x700], 4
je 0x40968e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x40968e
mov dword [esp + 0x268], 7
mov dword [esp + 0x264], ebx
mov word [esp + 0x254], bx
mov dword [esp + 0x34], ebx
push str.family
lea edi, [esp + 0x38]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 7
call fcn.00415140
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
push ecx
lea eax, [esp + 0x2b0]
call fcn.00408c00
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x258]
mov byte [esp + 0x708], 8
call fcn.004039e0
mov byte [esp + 0x700], 7
cmp dword [esp + 0x2c4], 8
jb 0x40948a
mov edx, dword [esp + 0x2b0]
push edx
call fcn.0041593a
add esp, 4
push 0xc
push str.size
lea ecx, [esp + 0x24]
call fcn.00415230
push ebx
push str.Style
lea ecx, [esp + 0x24]
mov dword [esp + 0x274], eax
call fcn.00415070
sub esp, 0x24
mov esi, esp
mov dword [esp + 0x294], eax
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
mov edi, 7
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push ebx
lea eax, [esp + 0x27c]
mov ecx, esi
mov word [esi + 4], bx
call fcn.004039e0
mov eax, dword [esp + 0x290]
mov dword [esi + 0x1c], eax
mov ecx, dword [esp + 0x294]
mov dword [esi + 0x20], ecx
mov byte [esp + 0x724], 9
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
mov edi, dword [esp + 0x50]
mov eax, edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0x7c], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
jmp 0x409520
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x409520
sub eax, ecx
sar eax, 1
push eax
push edi
call fcn.00403a90
lea esi, [esp + 0x2ec]
mov byte [esp + 0x740], 7
call fcn.00413970
add esp, 0x40
lea edx, [esp + 0x8c]
push edx
mov ecx, eax
mov byte [esp + 0x704], 0xa
call fcn.00413720
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0xd0]
push eax
add ecx, 4
push ecx
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0xb
call fcn.0040df70
mov edi, 8
cmp dword [esp + 0xc0], edi
jb 0x4095a6
mov edx, dword [esp + 0xac]
push edx
call fcn.0041593a
add esp, 4
xor esi, esi
cmp dword [esp + 0xa4], edi
mov ebx, 7
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], esi
mov word [esp + 0xac], si
jb 0x4095dc
mov eax, dword [esp + 0x90]
push eax
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x2e0], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
jb 0x40960b
mov ecx, dword [esp + 0x2cc]
push ecx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x2c4], edi
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2dc], esi
mov word [esp + 0x2cc], si
jb 0x40963a
mov edx, dword [esp + 0x2b0]
push edx
call fcn.0041593a
add esp, 4
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esp + 0x268], edi
jb 0x40965e
mov ecx, dword [esp + 0x254]
push ecx
call fcn.0041593a
add esp, 4
mov byte [esp + 0x700], 4
mov eax, dword [esp + 0x24]
cmp eax, esi
mov dword [esp + 0x268], ebx
mov dword [esp + 0x264], esi
mov word [esp + 0x254], si
je 0x40968c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
xor ebx, ebx
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
jl 0x409380
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.dscolors_color
call fcn.00415560
mov dword [esp + 0x64], eax
mov dword [esp + 0x140], 0x454d74
mov dword [esp + 0x144], eax
cmp eax, ebx
mov byte [esp + 0x700], 0xc
jne 0x4096da
mov dword [esp + 0x2c], ebx
jmp 0x4096f9
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [esp + 0x68]
push ecx
push eax
call edx
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x409af3
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x64]
cmp eax, ebx
jne 0x40971f
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x40973b
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0xd
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40978b
cmp esi, ebx
mov byte [esp + 0x700], 0xc
je 0x409ade
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x409ade
mov dword [esp + 0x34], ebx
push 0x4546c4
lea edi, [esp + 0x38]
mov edx, 0x4546c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0xe
call fcn.00415140
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4097b7
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x4097d4
mov dword [esp + 0x2ac], ebx
jmp 0x40981b
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x80]
push eax
push str._d__d__d
push esi
call fcn.004333d2
movzx edx, byte [esp + 0x8c]
xor ecx, ecx
mov ch, byte [esp + 0x94]
add esp, 0x14
mov cl, byte [esp + 0x7c]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x2ac], ecx
push str.hilight
lea edi, [esp + 0x38]
mov edx, str.0_0_0
lea ecx, [esp + 0x20]
call fcn.00415140
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 2]
jmp 0x409840
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x409840
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40985d
mov dword [esp + 0x2b0], ebx
jmp 0x409898
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x7c]
push edx
push str._d__d__d
push esi
call fcn.004333d2
movzx ecx, byte [esp + 0x88]
xor eax, eax
mov ah, byte [esp + 0x64]
add esp, 0x14
mov al, byte [esp + 0x4c]
shl eax, 8
or eax, ecx
mov dword [esp + 0x2b0], eax
push str.press
lea edi, [esp + 0x38]
mov edx, str.0_0_0
lea ecx, [esp + 0x20]
call fcn.00415140
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 2]
jmp 0x4098c0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4098c0
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x4098d8
xor esi, esi
jmp 0x40990e
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x64]
push ecx
push str._d__d__d
push esi
call fcn.004333d2
movzx eax, byte [esp + 0x70]
xor edx, edx
mov dh, byte [esp + 0x84]
add esp, 0x14
mov dl, byte [esp + 0x6c]
shl edx, 8
or edx, eax
mov esi, edx
push str.disable
lea edi, [esp + 0x38]
mov edx, str.0_0_0
lea ecx, [esp + 0x20]
call fcn.00415140
mov edi, dword [esp + 0x34]
mov eax, edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x409930
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x409948
xor ecx, ecx
jmp 0x409979
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x20]
push eax
push str._d__d__d
push edi
call fcn.004333d2
movzx edx, byte [esp + 0x2c]
xor ecx, ecx
mov ch, byte [esp + 0x58]
add esp, 0x14
mov cl, byte [esp + 0x3c]
shl ecx, 8
or ecx, edx
mov edx, dword [esp + 0x2ac]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x2c0]
mov dword [eax + 4], edx
mov dword [eax + 8], esi
sub esp, 0x1c
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x3c]
mov ecx, esp
mov edi, 7
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
mov dword [esp + 0xb0], esp
mov word [ecx + 4], bx
lea edx, [eax + 2]
lea esp, [esp]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x4099c0
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0x40]
push eax
mov esi, ecx
call fcn.00403a90
lea esi, [esp + 0x27c]
call fcn.004137b0
add esp, 0x2c
mov esi, eax
mov byte [esp + 0x700], 0xf
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], bx
call fcn.004039e0
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0xa8], ecx
mov edx, dword [esi + 0x20]
mov dword [esp + 0xac], edx
mov eax, dword [esi + 0x24]
mov dword [esp + 0xb0], eax
mov ecx, dword [esi + 0x28]
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x40]
lea edx, [esp + 0xd0]
push edx
add eax, 0x10
push eax
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0x10
call fcn.0040ddc0
mov esi, 8
cmp dword [esp + 0xa4], esi
jb 0x409a84
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0041593a
add esp, 4
xor edi, edi
cmp dword [esp + 0x268], esi
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], edi
mov word [esp + 0x90], di
jb 0x409ab9
mov edx, dword [esp + 0x254]
push edx
call fcn.0041593a
add esp, 4
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x700], 0xc
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x409adc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x40970f
lea eax, [esp + 0x54]
push eax
mov ecx, str.dscursors_cursor
call fcn.00415560
mov dword [esp + 0x68], eax
mov dword [esp + 0x130], 0x454d74
mov dword [esp + 0x134], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x11
jne 0x409b2a
mov dword [esp + 0x2c], ebx
jmp 0x409b49
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
jle 0x409e73
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x68]
cmp eax, ebx
jne 0x409b6f
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x409b8b
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x38]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x12
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x409bdb
cmp esi, ebx
mov byte [esp + 0x700], 0x11
je 0x409e5e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x409e5e
mov dword [esp + 0x2c4], 7
mov dword [esp + 0x2c0], ebx
mov word [esp + 0x2b0], bx
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x14], ebx
push str.value
lea edi, [esp + 0x18]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x14
call fcn.00415140
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x409c6f
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esp + 0x2c4], 8
jb 0x409c50
mov ecx, dword [esp + 0x2b0]
push ecx
call fcn.0041593a
add esp, 4
mov dword [esp + 0x2c4], 7
mov dword [esp + 0x2c0], ebx
mov word [esp + 0x2b0], bx
jmp 0x409bbe
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x409c74
sub eax, edx
sar eax, 1
push eax
push edi
lea esi, [esp + 0x2b4]
call fcn.00403a90
sub esp, 0x20
mov esi, esp
mov dword [esp + 0xa4], esp
push 0xffffffffffffffff
mov edi, 7
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push ebx
lea eax, [esp + 0x2d4]
mov ecx, esi
mov word [esi + 4], bx
call fcn.004039e0
mov ecx, dword [esp + 0x2e8]
mov dword [esi + 0x1c], ecx
mov byte [esp + 0x720], 0x15
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
mov edi, dword [esp + 0x4c]
mov eax, edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0x78], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
jmp 0x409cf0
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x409cf0
sub eax, ecx
sar eax, 1
push eax
push edi
call fcn.00403a90
lea esi, [esp + 0x28c]
mov byte [esp + 0x73c], 0x14
call fcn.00413840
add esp, 0x3c
lea edx, [esp + 0x8c]
push edx
mov ecx, eax
mov byte [esp + 0x704], 0x16
call fcn.004138e0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0xd0]
push eax
add ecx, 0x1c
push ecx
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0x17
call fcn.0040e120
mov edi, 8
cmp dword [esp + 0xc0], edi
jb 0x409d76
mov edx, dword [esp + 0xac]
push edx
call fcn.0041593a
add esp, 4
xor esi, esi
cmp dword [esp + 0xa4], edi
mov ebx, 7
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], esi
mov word [esp + 0xac], si
jb 0x409dac
mov eax, dword [esp + 0x90]
push eax
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x284], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
jb 0x409ddb
mov ecx, dword [esp + 0x270]
push ecx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x268], edi
mov dword [esp + 0x284], ebx
mov dword [esp + 0x280], esi
mov word [esp + 0x270], si
jb 0x409e0a
mov edx, dword [esp + 0x254]
push edx
call fcn.0041593a
add esp, 4
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esp + 0x2c4], edi
jb 0x409e2e
mov ecx, dword [esp + 0x2b0]
push ecx
call fcn.0041593a
add esp, 4
mov byte [esp + 0x700], 0x11
mov eax, dword [esp + 0x24]
cmp eax, esi
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2c0], esi
mov word [esp + 0x2b0], si
je 0x409e5c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
xor ebx, ebx
mov eax, dword [esp + 0x34]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
jl 0x409b5f
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.dsimages_image
call fcn.00415560
mov dword [esp + 0x80], eax
mov dword [esp + 0x118], 0x454d74
mov dword [esp + 0x11c], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x18
jne 0x409ead
mov dword [esp + 0x2c], ebx
jmp 0x409ecc
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [esp + 0x18]
push ecx
push eax
call edx
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x40a283
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x80]
cmp eax, ebx
jne 0x409ef5
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x409f11
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x19
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x409f61
cmp esi, ebx
mov byte [esp + 0x700], 0x18
je 0x40a26e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x40a26e
mov dword [esp + 0x268], 7
mov dword [esp + 0x264], ebx
mov word [esp + 0x254], bx
mov dword [esp + 0x34], ebx
push str.value
lea edi, [esp + 0x38]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x1b
call fcn.00415140
mov edi, dword [esp + 0x34]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x409fee
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esp + 0x268], 8
jb 0x409fcf
mov ecx, dword [esp + 0x254]
push ecx
call fcn.0041593a
add esp, 4
mov dword [esp + 0x268], 7
mov dword [esp + 0x264], ebx
mov word [esp + 0x254], bx
jmp 0x409f44
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x409ff3
sub eax, edx
sar eax, 1
push eax
push edi
lea esi, [esp + 0x258]
call fcn.00403a90
push 1
push str.count
lea ecx, [esp + 0x24]
call fcn.00415230
push str.transparent
lea edi, [esp + 0x38]
mov edx, str.0_0_0
lea ecx, [esp + 0x20]
mov dword [esp + 0x270], eax
call fcn.00415140
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40a047
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40a05f
xor eax, eax
jmp 0x40a090
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x64]
push eax
push str._d__d__d
push esi
call fcn.004333d2
movzx ecx, byte [esp + 0x70]
xor eax, eax
mov ah, byte [esp + 0x50]
add esp, 0x14
mov al, byte [esp + 0x44]
shl eax, 8
or eax, ecx
sub esp, 0x24
mov esi, esp
mov dword [esp + 0x294], eax
mov dword [esp + 0xa8], esp
push 0xffffffffffffffff
mov edi, 7
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push ebx
lea eax, [esp + 0x27c]
mov ecx, esi
mov word [esi + 4], bx
call fcn.004039e0
mov edx, dword [esp + 0x290]
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x294]
mov dword [esi + 0x20], eax
mov byte [esp + 0x724], 0x1c
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], edi
mov edi, dword [esp + 0x50]
mov eax, edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0xac], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x40a100
sub eax, ecx
sar eax, 1
push eax
push edi
call fcn.00403a90
lea esi, [esp + 0x2ec]
mov byte [esp + 0x740], 0x1b
call fcn.00413970
add esp, 0x40
lea ecx, [esp + 0x8c]
push ecx
mov ecx, eax
mov byte [esp + 0x704], 0x1d
call fcn.00413720
mov eax, dword [esp + 0x40]
lea edx, [esp + 0xd0]
push edx
add eax, 0x28
push eax
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0x1e
call fcn.0040df70
mov edi, 8
cmp dword [esp + 0xc0], edi
jb 0x40a186
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0041593a
add esp, 4
xor esi, esi
cmp dword [esp + 0xa4], edi
mov ebx, 7
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], esi
mov word [esp + 0xac], si
jb 0x40a1bc
mov edx, dword [esp + 0x90]
push edx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x2e0], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
jb 0x40a1eb
mov eax, dword [esp + 0x2cc]
push eax
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x2c4], edi
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2dc], esi
mov word [esp + 0x2cc], si
jb 0x40a21a
mov ecx, dword [esp + 0x2b0]
push ecx
call fcn.0041593a
add esp, 4
mov edx, dword [esp + 0x34]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esp + 0x268], edi
jb 0x40a23e
mov eax, dword [esp + 0x254]
push eax
call fcn.0041593a
add esp, 4
mov byte [esp + 0x700], 0x18
mov eax, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x268], ebx
mov dword [esp + 0x264], esi
mov word [esp + 0x254], si
je 0x40a26c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x409ee2
lea eax, [esp + 0x54]
push eax
mov ecx, str.dsicons_icon
call fcn.00415560
mov dword [esp + 0x7c], eax
mov dword [esp + 0x2ac], 0x454d74
mov dword [esp + 0x2b0], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x1f
jne 0x40a2ba
mov dword [esp + 0x2c], ebx
jmp 0x40a2d9
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x40a60e
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x7c]
cmp eax, ebx
jne 0x40a2ff
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x40a31b
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x20
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40a36b
cmp esi, ebx
mov byte [esp + 0x700], 0x1f
je 0x40a5f9
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x40a5f9
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2a4], 7
mov dword [esp + 0x2a0], ebx
mov word [esp + 0x290], bx
mov byte [esp + 0x700], 0x22
push str.value
lea edi, [esp + 0x50]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov dword [esp + 0x2ac], ebx
call fcn.00415140
mov edi, dword [esp + 0x4c]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40a3ff
cmp dword [esp + 0x2a4], 8
jb 0x40a3d9
mov ecx, dword [esp + 0x290]
push ecx
call fcn.0041593a
add esp, 4
push edi
mov dword [esp + 0x2a8], 7
mov dword [esp + 0x2a4], ebx
mov word [esp + 0x294], bx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x40a34e
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40a404
sub eax, edx
sar eax, 1
push eax
push edi
lea esi, [esp + 0x294]
call fcn.00403a90
sub esp, 0x20
mov esi, esp
mov dword [esp + 0xa4], esp
push 0xffffffffffffffff
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push ebx
lea eax, [esp + 0x2b4]
mov ecx, esi
mov word [esi + 4], bx
call fcn.004039e0
mov ecx, dword [esp + 0x2c8]
mov dword [esi + 0x1c], ecx
mov byte [esp + 0x720], 0x23
mov eax, dword [esp + 0x30]
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov dword [esp + 0x78], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x40a480
mov edx, dword [esp + 0x4c]
sub eax, ecx
sar eax, 1
push eax
push edx
call fcn.00403a90
lea esi, [esp + 0x28c]
mov byte [esp + 0x73c], 0x22
call fcn.00413840
add esp, 0x3c
lea ecx, [esp + 0x8c]
push ecx
mov ecx, eax
mov byte [esp + 0x704], 0x24
call fcn.004138e0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0xd0]
push edx
add eax, 0x34
push eax
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0x25
call fcn.0040e120
mov ebx, 8
cmp dword [esp + 0xc0], ebx
jb 0x40a50a
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0041593a
add esp, 4
xor esi, esi
cmp dword [esp + 0xa4], ebx
mov dword [esp + 0xc0], 7
mov dword [esp + 0xbc], esi
mov word [esp + 0xac], si
jb 0x40a53f
mov edx, dword [esp + 0x90]
push edx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x284], ebx
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
jb 0x40a572
mov eax, dword [esp + 0x270]
push eax
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x268], ebx
mov dword [esp + 0x284], 7
mov dword [esp + 0x280], esi
mov word [esp + 0x270], si
jb 0x40a5a5
mov ecx, dword [esp + 0x254]
push ecx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x2a4], ebx
jb 0x40a5be
mov edx, dword [esp + 0x290]
push edx
call fcn.0041593a
add esp, 4
push edi
mov dword [esp + 0x2a8], 7
mov dword [esp + 0x2a4], esi
mov word [esp + 0x294], si
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x700], 0x1f
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x40a5f7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x40a2ef
lea eax, [esp + 0x54]
push eax
mov ecx, str.dsstrings_string
call fcn.00415560
mov dword [esp + 0x78], eax
mov dword [esp + 0xd0], 0x454d74
mov dword [esp + 0xd4], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x26
jne 0x40a645
mov dword [esp + 0x2c], ebx
jmp 0x40a664
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
jle 0x40a8d4
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x78]
cmp eax, ebx
jne 0x40a68a
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x40a6a6
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x38]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x27
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40a6f6
cmp esi, ebx
mov byte [esp + 0x700], 0x26
je 0x40a8bf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x40a8bf
mov dword [esp + 0x14], ebx
push str.value
lea edi, [esp + 0x18]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x28
call fcn.00415140
mov edi, dword [esp + 0x14]
sub esp, 0x1c
mov esi, esp
mov eax, edi
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov dword [esp + 0xa0], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x40a740
sub eax, ecx
sar eax, 1
push eax
push edi
call fcn.00403a90
mov byte [esp + 0x71c], 0x29
mov edi, dword [esp + 0x2c]
sub esp, 0x1c
mov esi, esp
mov eax, edi
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov dword [esp + 0x74], esp
mov word [esi + 4], bx
lea ecx, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x40a780
sub eax, ecx
sar eax, 1
push eax
push edi
call fcn.00403a90
lea esi, [esp + 0x288]
mov byte [esp + 0x738], 0x28
call fcn.00413a10
add esp, 0x38
lea ecx, [esp + 0x8c]
push ecx
mov ebx, eax
mov byte [esp + 0x704], 0x2a
call fcn.00413ab0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x28c]
push edx
add eax, 0x40
push eax
lea ebx, [esp + 0x94]
mov byte [esp + 0x708], 0x2b
call fcn.0040e2d0
mov edi, 8
cmp dword [esp + 0xc0], edi
jb 0x40a806
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0041593a
add esp, 4
xor esi, esi
cmp dword [esp + 0xa4], edi
mov ebx, 7
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], esi
mov word [esp + 0xac], si
jb 0x40a83c
mov edx, dword [esp + 0x90]
push edx
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x284], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], esi
mov word [esp + 0x90], si
jb 0x40a86b
mov eax, dword [esp + 0x270]
push eax
call fcn.0041593a
add esp, 4
cmp dword [esp + 0x268], edi
mov dword [esp + 0x284], ebx
mov dword [esp + 0x280], esi
mov word [esp + 0x270], si
jb 0x40a89a
mov ecx, dword [esp + 0x254]
push ecx
call fcn.0041593a
add esp, 4
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x700], 0x26
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x40a8bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x34]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
jl 0x40a67a
lea eax, [esp + 0x54]
push eax
mov ecx, str.window_id
call fcn.00415450
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1c]
push ecx
lea esi, [esp + 0x14]
mov ecx, 0x453f40
mov byte [esp + 0x704], 0x2c
call fcn.004152d0
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40a917
mov edi, dword [esp + 0x40]
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [edi + 0x68]
call fcn.00403a90
lea edx, [esp + 0x54]
push edx
mov ecx, str.window_title
call fcn.00415450
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x88], eax
lea eax, [esp + 0x84]
push eax
lea esi, [esp + 0x14]
mov ecx, 0x453f40
mov byte [esp + 0x704], 0x2d
call fcn.004152d0
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40a980
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [edi + 0x4c]
call fcn.00403a90
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.window_type
call fcn.00415450
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x28], eax
lea edx, [esp + 0x24]
push edx
lea esi, [esp + 0x14]
mov ecx, 0x453f40
mov byte [esp + 0x704], 0x2e
call fcn.004152d0
mov eax, dword [esp + 0x10]
push str.dsdialog
push eax
call fcn.00432216
add esp, 8
neg eax
sbb eax, eax
lea ecx, [esp + 0x54]
add eax, 1
push ecx
mov ecx, str.window_escape
mov dword [edi + 0x84], eax
call fcn.00415450
mov dword [esp + 0x74], eax
mov dword [esp + 0x34], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x38], eax
lea edx, [esp + 0x34]
push edx
mov ecx, 0x4546c0
mov byte [esp + 0x704], 0x2f
call fcn.004152d0
mov eax, dword [esp + 0x10]
push 0xa
push ebx
push eax
call fcn.004331a8
add esp, 0xc
neg eax
sbb eax, eax
lea ecx, [esp + 0x54]
neg eax
push ecx
mov ecx, str.window_client
mov dword [edi + 0x88], eax
call fcn.00415450
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x30], eax
lea edx, [esp + 0x2c]
push edx
mov ecx, str.0_0_0_0
mov byte [esp + 0x704], 0x30
call fcn.004152d0
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x28c]
call fcn.00408c70
mov ecx, dword [eax]
mov dword [edi + 0x8c], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x90], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x94], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x54]
push eax
mov ecx, str.window_icon
mov dword [edi + 0x98], edx
call fcn.00415450
mov dword [esp + 0x6c], eax
mov dword [esp + method.CXmlNodeWrapper.virtual_0], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x120]
push ecx
lea esi, [esp + 0x14]
mov ecx, 0x453f40
mov byte [esp + 0x704], 0x31
call fcn.004152d0
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
lea esp, [esp]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40ab00
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [edi + 0x9c]
call fcn.00403a90
lea edx, [esp + 0x54]
push edx
mov ecx, str.window_bkimage
call fcn.00415450
mov dword [esp + 0x5c], eax
mov dword [esp + method.CXmlNodeWrapper.virtual_0], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x108]
push eax
lea esi, [esp + 0x14]
mov ecx, 0x453f40
mov byte [esp + 0x704], 0x32
call fcn.004152d0
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
jmp 0x40ab70
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40ab70
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [edi + 0xb8]
call fcn.00403a90
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.window_alpha
call fcn.00415450
mov dword [esp + 0x44], eax
mov dword [esp + 0xf0], vtable.CXmlNodeWrapper.0
mov dword [esp + 0xf4], eax
lea edx, [esp + 0xf0]
push edx
lea esi, [esp + 0x14]
mov ecx, 0x4548b8
mov byte [esp + 0x704], 0x33
call fcn.004152d0
mov eax, dword [esp + 0x10]
push eax
call fcn.00433285
fstp dword [edi + 0xd4]
add esp, 4
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.window_style
call fcn.00415450
mov dword [esp + 0x3c], eax
mov dword [esp + 0xe4], vtable.CXmlNodeWrapper.0
mov dword [esp + 0xe8], eax
lea edx, [esp + 0xe4]
push edx
mov ecx, 0x4546c0
mov byte [esp + 0x704], 0x34
call fcn.004152d0
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40ac30
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40ac48
xor eax, eax
jmp 0x40ac4d
call fcn.00408d00
mov dword [edi + 0xd8], eax
lea eax, [esp + 0x54]
push eax
mov ecx, str.window_exstyle
call fcn.00415450
mov dword [esp + 0x18], eax
mov dword [esp + method.CXmlNodeWrapper.virtual_0], vtable.CXmlNodeWrapper.0
mov dword [esp + 0x290], eax
lea ecx, [esp + 0x28c]
push ecx
lea esi, [esp + 0x14]
mov ecx, 0x4546c0
mov byte [esp + 0x704], 0x35
call fcn.004152d0
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40aca0
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40acb8
xor eax, eax
jmp 0x40acc1
mov esi, dword [esp + 0x10]
call fcn.00408d00
mov dword [edi + 0xdc], eax
mov byte [esp + 0x700], 0x34
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x40acdf
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x700], 0x33
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x40acf7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x32
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x40ad0f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x31
mov eax, dword [esp + 0x5c]
cmp eax, ebx
je 0x40ad27
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x30
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x40ad3f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x2f
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x40ad57
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x2e
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x40ad6f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x2d
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x40ad87
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x2c
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x40ad9f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x26
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40adb7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x54]
push eax
mov ecx, str.buttons_button
call fcn.00415560
mov dword [esp + 0x4c], eax
mov dword [esp + 0x28c], 0x454d74
mov dword [esp + 0x290], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x36
jne 0x40adee
mov dword [esp + 0x2c], ebx
jmp 0x40ae0d
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x40b2dc
mov dword [esp + 0x44], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x4c]
cmp eax, ebx
jne 0x40ae33
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x40ae4f
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov esi, eax
mov dword [esp + 0x48], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
mov byte [esp + 0x704], 0x37
call fcn.00415140
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40ae9f
cmp esi, ebx
mov byte [esp + 0x700], 0x36
je 0x40b2c7
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
jmp 0x40b2c7
lea eax, [esp + 0x3f4]
call fcn.0040bc30
mov eax, edi
mov byte [esp + 0x700], 0x38
lea edx, [eax + 2]
jmp 0x40aec0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40aec0
sub eax, edx
sar eax, 1
push eax
push edi
lea esi, [esp + 0x418]
call fcn.00403a90
push str.name
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40af00
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [esp + 0x3fc]
call fcn.00403a90
push 0x454928
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40af40
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x434]
call fcn.00403a90
push str.position
lea edi, [esp + 0x14]
mov edx, str.0_0_0_0
lea ecx, [esp + 0x48]
call fcn.00415140
mov edx, dword [esp + 0x10]
lea esi, [esp + 0xf0]
call fcn.00408c70
mov ecx, dword [eax]
mov dword [esp + 0x448], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x450], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x454], edx
push str.font
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40afc7
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x460]
call fcn.00403a90
push str.bkimage
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b004
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [esp + 0x47c]
call fcn.00403a90
push str.ctrlimage
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b041
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [esp + 0x498]
call fcn.00403a90
push str.color
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x48]
call fcn.00415140
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b080
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [esp + 0x4b4]
call fcn.00403a90
push ebx
push str.TextAlignment
lea ecx, [esp + 0x4c]
call fcn.00415230
push str.style
lea edi, [esp + 0x14]
mov edx, 0x4546c0
lea ecx, [esp + 0x48]
mov dword [esp + 0x4cc], eax
call fcn.00415140
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b0d3
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40b0eb
xor eax, eax
jmp 0x40b0f0
call fcn.00408d00
push str.extstyle
lea edi, [esp + 0x14]
mov edx, 0x4546c0
lea ecx, [esp + 0x48]
mov dword [esp + 0x4d0], eax
call fcn.00415140
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b117
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40b12f
xor eax, eax
jmp 0x40b134
call fcn.00408d00
push 1
push str.enable
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4d8], eax
call fcn.00415070
push 1
push str.visible
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4e0], eax
call fcn.00415070
push str.alpha
lea edi, [esp + 0x14]
mov edx, 0x4548b8
lea ecx, [esp + 0x48]
mov dword [esp + 0x4e0], eax
call fcn.00415140
mov eax, dword [esp + 0x10]
push eax
call fcn.00433285
fstp dword [esp + 0x4d8]
sub esp, 0xe8
mov ecx, esp
mov dword [esp + 0x170], esp
push ecx
lea edi, [esp + 0x4e4]
call fcn.0040bda0
sub esp, 0x1c
mov byte [esp + 0x808], 0x39
mov ecx, esp
mov dword [esp + 0x144], esp
push 0xffffffffffffffff
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push ebx
lea eax, [esp + 0x520]
mov word [ecx + 4], bx
call fcn.004039e0
lea edi, [esp + 0x3f4]
mov byte [esp + 0x808], 0x38
call fcn.00413b30
add esp, 0x108
lea edx, [esp + 0x148]
push edx
mov ecx, eax
mov byte [esp + 0x704], 0x3a
call fcn.00413bc0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0xe4]
push eax
add ecx, 0xe8
push ecx
lea ebx, [esp + 0x150]
mov byte [esp + 0x708], 0x3b
call fcn.0040e480
lea esi, [esp + 0x164]
call fcn.0040bca0
mov edi, 8
cmp dword [esp + 0x160], edi
jb 0x40b260
mov edx, dword [esp + 0x14c]
push edx
call fcn.0041593a
add esp, 4
xor ebx, ebx
lea esi, [esp + 0x308]
mov dword [esp + 0x160], 7
mov dword [esp + 0x15c], ebx
mov word [esp + 0x14c], bx
call fcn.0040bca0
cmp dword [esp + 0x304], edi
jb 0x40b2a1
mov eax, dword [esp + 0x2f0]
push eax
call fcn.0041593a
add esp, 4
lea esi, [esp + 0x3f4]
call fcn.0040bca0
mov byte [esp + 0x700], 0x36
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40b2c5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x40ae23
lea eax, [esp + 0x54]
push eax
mov ecx, str.labels_label
call fcn.00415560
mov dword [esp + 0x34], eax
mov dword [esp + 0xe4], 0x454d74
mov dword [esp + 0xe8], eax
cmp eax, ebx
mov byte [esp + 0x700], 0x3c
jne 0x40b313
mov dword [esp + 0x2c], ebx
jmp 0x40b332
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x40b840
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
mov eax, dword [esp + 0x34]
cmp eax, ebx
jne 0x40b358
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x40b374
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov esi, eax
mov dword [esp + 0x20], esi
push 0x454670
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x704], 0x3d
call fcn.00415140
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jae 0x40b3c4
cmp esi, ebx
mov byte [esp + 0x700], 0x3c
je 0x40b82b
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
jmp 0x40b82b
mov eax, 7
mov dword [esp + 0x304], eax
mov dword [esp + 0x300], ebx
mov word [esp + 0x2f0], bx
mov dword [esp + 0x320], eax
mov dword [esp + 0x31c], ebx
mov word [esp + 0x30c], bx
mov dword [esp + 0x34c], eax
mov dword [esp + 0x348], ebx
mov word [esp + 0x338], bx
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], ebx
mov word [esp + 0x354], bx
mov eax, edi
mov byte [esp + 0x700], 0x3e
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b430
sub eax, edx
sar eax, 1
push eax
push edi
lea esi, [esp + 0x310]
call fcn.00403a90
push str.name
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
call fcn.00415140
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40b470
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x2f4]
call fcn.00403a90
push str.position
lea edi, [esp + 0x14]
mov edx, str.0_0_0_0
lea ecx, [esp + 0x20]
call fcn.00415140
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x108]
call fcn.00408c70
mov ecx, dword [eax]
mov dword [esp + 0x324], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x328], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x32c], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x330], edx
push str.font
mov edx, 0x453f40
lea ecx, [esp + 0x20]
call fcn.00415140
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edx, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x40b4f7
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x33c]
call fcn.00403a90
push str.bkimage
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
call fcn.00415140
mov edx, dword [esp + 0x10]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b534
sub eax, esi
sar eax, 1
push eax
push edx
lea esi, [esp + 0x358]
call fcn.00403a90
push str.colornormal
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
call fcn.00415140
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b571
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40b589
xor eax, eax
jmp 0x40b5ba
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x64]
push edx
push str._d__d__d
push esi
call fcn.004333d2
movzx ecx, byte [esp + 0x70]
xor eax, eax
mov ah, byte [esp + 0x50]
add esp, 0x14
mov al, byte [esp + 0x44]
shl eax, 8
or eax, ecx
push str.colordisable
lea edi, [esp + 0x14]
mov edx, 0x453f40
lea ecx, [esp + 0x20]
mov dword [esp + 0x370], eax
call fcn.00415140
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b5e1
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40b5f9
xor eax, eax
jmp 0x40b630
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x7c]
push ecx
push str._d__d__d
push esi
call fcn.004333d2
movzx edx, byte [esp + 0x88]
xor eax, eax
mov ah, byte [esp + 0x80]
add esp, 0x14
mov al, byte [esp + 0x70]
shl eax, 8
or eax, edx
push ebx
push str.XTextAlignment
lea ecx, [esp + 0x24]
mov dword [esp + 0x378], eax
call fcn.00415230
push ebx
push str.YTextAlignment
lea ecx, [esp + 0x24]
mov dword [esp + 0x37c], eax
call fcn.00415230
push ebx
push str.style
lea ecx, [esp + 0x24]
mov dword [esp + 0x380], eax
call fcn.00415230
push str.linespace
lea edi, [esp + 0x14]
mov edx, 0x4548b8
lea ecx, [esp + 0x20]
mov dword [esp + 0x380], eax
call fcn.00415140
mov eax, dword [esp + 0x10]
push eax
call fcn.00433285
fstp dword [esp + 0x388]
add esp, 4
push 1
push str.enable
lea ecx, [esp + 0x24]
call fcn.00415070
push 1
push str.visible
lea ecx, [esp + 0x24]
mov dword [esp + 0x390], eax
call fcn.00415070
push str.alpha
mov edx, 0x4548b8
lea ecx, [esp + 0x20]
mov dword [esp + 0x390], eax
call fcn.00415140
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00433285
fstp dword [esp + 0x384]
sub esp, 0xa0
mov edx, esp
mov dword [esp + 0x128], esp
push edx
lea edi, [esp + 0x394]
call fcn.0040bfd0
sub esp, 0x1c
mov byte [esp + 0x7c0], 0x3f
mov ecx, esp
mov dword [esp + 0x110], esp
push 0xffffffffffffffff
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push ebx
lea eax, [esp + 0x3d0]
mov word [ecx + 4], bx
call fcn.004039e0
lea edi, [esp + 0x4b4]
mov byte [esp + 0x7c0], 0x3e
call fcn.00413c40
add esp, 0xc0
lea ecx, [esp + 0x148]
push ecx
mov ecx, eax
mov byte [esp + 0x704], 0x40
call fcn.00413cd0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0xf0]
push edx
add eax, 0xf4
push eax
lea ebx, [esp + 0x150]
mov byte [esp + 0x708], 0x41
call fcn.0040e5b0
lea esi, [esp + 0x164]
call fcn.0040bf50
mov edi, 8
cmp dword [esp + 0x160], edi
jb 0x40b7c4
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.0041593a
add esp, 4
xor ebx, ebx
lea esi, [esp + 0x410]
mov dword [esp + 0x160], 7
mov dword [esp + 0x15c], ebx
mov word [esp + 0x14c], bx
call fcn.0040bf50
cmp dword [esp + 0x40c], edi
jb 0x40b805
mov edx, dword [esp + 0x3f8]
push edx
call fcn.0041593a
add esp, 4
lea esi, [esp + 0x2ec]
call fcn.0040bf50
mov byte [esp + 0x700], 0x3c
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40b829
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x40b348
lea eax, [esp + 0x54]
push eax
mov ecx, str.controls_control
call fcn.00415560
mov edi, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0xf0], 0x454d74
mov dword [esp + 0xf4], edi
cmp edi, ebx
mov byte [esp + 0x700], 0x42
jne 0x40b879
mov dword [esp + 0x2c], ebx
jmp 0x40b898
mov ecx, dword [edi]
mov eax, dword [ecx + 0x20]
lea edx, [esp + 0x18]
push edx
push edi
call eax
xor ecx, ecx
cmp eax, ebx
setl cl
sub ecx, 1
and ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
jle 0x40ba35
mov edx, dword [esp + 0x40]
add edx, 0x100
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], vtable.CXmlNodeWrapper.0
lea esp, [esp]
cmp edi, ebx
jne 0x40b8ca
mov dword [esp + 0x14], ebx
jmp 0x40b8e4
mov edx, dword [esp + 0x24]
mov eax, dword [edi]
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x18]
push ecx
push edx
push edi
call eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
push ebx
push 0x454670
lea ecx, [esp + 0x24]
mov byte [esp + 0x708], 0x43
call fcn.00415230
push str.position
lea edi, [esp + 0x14]
mov edx, str.0_0_0_0
lea ecx, [esp + 0x20]
mov dword [esp + 0x254], eax
call fcn.00415140
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x120]
call fcn.00408c70
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x254], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x258], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x260], edx
push str.style
mov edx, 0x4546c0
lea ecx, [esp + 0x20]
call fcn.00415140
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b974
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x40b98c
xor eax, eax
jmp 0x40b991
call fcn.00408d00
push 1
push str.enable
lea ecx, [esp + 0x24]
mov dword [esp + 0x26c], eax
call fcn.00415070
push 1
push str.visible
lea ecx, [esp + 0x24]
mov dword [esp + 0x270], eax
call fcn.00415070
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x8c], eax
mov ecx, 8
lea esi, [esp + 0x250]
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x10c]
push edx
call fcn.0040e6e0
mov byte [esp + 0x700], 0x42
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40ba1a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
add eax, 1
xor ebx, ebx
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jl 0x40b8c0
cmp edi, ebx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x50], 1
mov byte [esp + 0x700], 0x3c
je 0x40ba55
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
cmp esi, ebx
mov byte [esp + 0x700], 0x36
je 0x40ba69
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov byte [esp + 0x700], 0x26
cmp dword [esp + 0x4c], ebx
je 0x40ba83
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x1f
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x40ba9b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x18
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x40bab3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0x11
mov eax, dword [esp + 0x80]
cmp eax, ebx
je 0x40bace
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 0xc
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x40bae6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], 4
mov eax, dword [esp + 0x64]
cmp eax, ebx
je 0x40bafe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xcc]
cmp eax, ebx
mov byte [esp + 0x700], 3
je 0x40bb19
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xdc]
cmp eax, ebx
mov byte [esp + 0x700], 2
je 0x40bb34
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xe0]
cmp eax, ebx
mov byte [esp + 0x700], 1
je 0x40bb4f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x700], bl
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x40bb66
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x11c], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x6f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6e0]
xor ecx, esp
call fcn.004316db
mov esp, ebp
pop ebp
ret 4