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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov esi, dword [eax]
push esi
call fcn.00412781
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x42da1b
add eax, 7
shr eax, 3
add eax, eax
add eax, eax
add eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00410eab
mov ecx, dword [esp + 0x38]
add esp, 4
lea edx, [ecx + ecx + 2]
push edx
push esi
push eax
mov dword [esp + 0x3c], eax
call fcn.00412420
add esp, 0xc
push 4
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42da25
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x42dafb
cmp dword [eax], 1
jg 0x42da2c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x13c]
test esi, esi
jne 0x42da93
mov esi, dword [eax + 0x134]
test esi, esi
je 0x42dafb
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x40a465
test edx, edx
je 0x4095a9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x409590
mov si, word [eax]
cmp si, word [ecx]
jne 0x40a461
add eax, 2
add ecx, 2
dec edx
jne 0x409590
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x4095cb
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0041279c
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.00410eb6
add esp, 4
mov eax, esi
test eax, eax
je 0x42db04
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x148]
inc eax
mov dword [edi], eax
mov esi, dword [ebx + 4]
mov dword [esp + 0xdc], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + eax*4]
cmp word [esi + 8], 0x47
mov dword [esp + 0x30], 0x497bec
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x49b394
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x42da87
inc eax
mov dword [esp + 0x7c], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 8]
cmp ecx, 0x47
jge 0x40967c
inc eax
jmp 0x409668
sub ecx, 0x47
je 0x42db60
dec ecx
jne 0x42db37
test esi, esi
jne 0x42db59
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4b9168]
jg 0x42db66
cmp eax, ecx
jle 0x42db66
shl eax, 4
add eax, dword [0x4b919c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x409892
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x409892
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x70]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x42db6f
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x40971e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x40a479
push 1
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42dba7
mov byte [eax], bl
mov edx, dword [esp + 0x64]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x68], esi
test bl, bl
jne 0x42dbae
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x42dcb8
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x42dccb
cmp eax, 0xa
je 0x42dcf0
cmp eax, 5
je 0x42dd07
cmp eax, 0xb
je 0x42dd15
cmp eax, 0xc
je 0x42dd37
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x40a4d6
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42df1d
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x42dd4e
mov edx, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [edi + esi*4], eax
inc esi
push ebx
mov dword [esp + 0x3c], esi
mov esi, dword [edi + esi*4 - 4]
push esi
lea eax, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.0040a570
test eax, eax
jne 0x42f11a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax*4 + 4]
inc eax
cmp word [edx + 8], 0x41
mov dword [esp + 0x10], eax
je 0x42df24
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x409892
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov ecx, 0x40
cmp word [eax + 8], cx
jne 0x42df73
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x42df73
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x40987f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x4096e0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x42f10a
cmp eax, dword [esp + 0x5c]
jg 0x42f10a
cmp edx, dword [esp + 0x14]
jne 0x42f10a
mov ebx, dword [esp + 0xcc]
xor esi, esi
xor eax, eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
cmp ebx, esi
jl 0x42df85
cmp byte [0x4b7fa5], al
jne 0x42df8e
push 0xc
call fcn.004128c9
add esp, 4
cmp eax, esi
je 0x42e031
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x42dfaf
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x42dfb7
mov dword [edi], esi
mov ecx, dword [0x4b7fa0]
mov dword [edi + 8], ecx
mov dword [0x4b7fa0], edi
mov eax, dword [esp + 0x48]
inc dword [0x4b7f9c]
cmp eax, esi
jne 0x42e038
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x409dc9
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
mov esi, dword [esp + 0x10]
xor ebx, ebx
or edx, 0xffffffff
mov word [esp + 0xd8], dx
mov dword [esp + 0xbc], 0x4955ec
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x7c], ebx
mov edi, dword [ecx + esi*4]
lea edx, [ecx + esi*4]
xor eax, eax
mov word [esp + 0xda], ax
mov dword [esp + 0x14], eax
cmp word [edi + 8], bx
je 0x42e08b
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x42e0f2
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x42e0c2
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov edx, dword [edx + esi*4]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, eax
add eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [eax + ecx]
mov edi, dword [eax]
cmp dword [0x4b7f9c], ebx
je 0x42e1bc
mov dword [esp + 0x18], edx
cmp byte [0x4b7fa5], bl
jne 0x42e1cf
mov ebx, dword [0x4b7fa0]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x409aec
test byte [0x4b9654], 1
mov byte [esp + 0x43], al
je 0x42e1dd
mov dword [0x4b9650], eax
mov dword [0x4b964c], eax
mov eax, 0x4b9634
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
test eax, eax
je 0x42e202
test edx, edx
je 0x42e20a
cmp eax, edx
jb 0x42e22a
test eax, eax
je 0x42e21b
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x409a8a
add eax, 2
add ecx, 2
dec edx
jne 0x409a74
jmp 0x42e217
mov ebx, dword [esp + 0x14]
jb 0x42e222
mov eax, 1
test eax, eax
js 0x42e238
jle 0x42e2d3
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x42e28a
cmp byte [esp + 0x43], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx]
mov ecx, dword [0x4b9650]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4b964c]
mov dword [edx + 0x1c], eax
jne 0x42e2dd
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e300
mov esi, eax
xor ecx, ecx
mov eax, 8
mov dword [esi + 8], eax
mov edx, 2
mul edx
seto cl
mov dword [esi + 4], 0
neg ecx
or ecx, eax
push ecx
call fcn.00410eab
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e2f9
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x409b8e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x42e307
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x42e326
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [edx + edx + 2]
mov edx, dword [ebx]
push eax
push ecx
push edx
call fcn.00412420
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004128c9
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x409bfb
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 8]
mov esi, eax
lea eax, [edx - 1]
mov dword [esp + 0x58], esi
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
cmp eax, 0xb
ja case.default.0x409bc0
jmp dword [eax*4 + 0x40a534]
push 0x10
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e36b
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
mov esi, dword [eax]
cmp esi, edi
je 0x40a529
test byte [0x4b9654], 1
je 0x42e4da
mov eax, 0x4b9634
mov dword [0x4b9650], edi
mov dword [0x4b964c], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp eax, edi
je 0x42e4fd
cmp edx, edi
je 0x42e505
cmp eax, edx
jb 0x42e525
cmp eax, edi
jbe 0x42e514
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x409c86
add eax, 2
add ecx, 2
dec edx
jne 0x409c70
jmp 0x42e512
jb 0x42e51b
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42e533
jle 0x409cae
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x42e592
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x1c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4b9650]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4b964c]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x42e5e0
cmp edx, edi
je 0x42e5e8
cmp eax, edx
jb 0x42e608
cmp eax, edi
jbe 0x42e5f7
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x409d16
add eax, 2
add ecx, 2
dec edx
jne 0x409d00
jmp 0x42e5f5
jb 0x42e5fe
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42e616
jle 0x42e627
mov ecx, dword [0x4b964c]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], esi
mov dword [esi + 0x1c], edi
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax + 4]
cmp word [edx + 8], 0x41
je 0x42e62e
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x42e662
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x4955ec
ja 0x42e686
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.00410eb6
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x409950
mov ebx, dword [esp + 0xcc]
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], eax
mov byte [esp + 0x90], al
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xb0], al
mov eax, dword [esi]
mov dword [esi + 0x148], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 4]
cmp byte [ecx + esi + 0xd], 0
lea edi, [ecx + esi + 4]
jne 0x42e6af
push 0x40
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e701
xor ecx, ecx
mov edx, 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax], ecx
mov byte [eax + 0x10], cl
mov dword [eax + 0x14], ecx
mov byte [eax + 0x18], cl
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x20], ecx
mov byte [eax + 0x30], cl
mov ecx, dword [edi + 4]
mov dword [eax + 0x38], ecx
mov dword [edi + 4], eax
inc dword [edi]
mov edx, dword [esi + 0xf4]
lea eax, [ebx + 1]
mov ebx, dword [esi + 0x16c]
lea edi, [esi + 0x16c]
push eax
mov ecx, esi
mov dword [esp + 0x4c], edx
call fcn.00408fd0
cmp ebx, dword [edi]
jb 0x42e708
mov eax, dword [esp + 0x48]
mov edi, esi
mov ecx, dword [edi]
mov dword [edi + 0xf4], eax
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
lea eax, [edx + edi + 4]
mov eax, dword [eax + 4]
jne 0x42e716
cmp byte [eax + 0x10], 0
je 0x42e93b
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [edi]
mov eax, dword [edx + 4]
cmp byte [eax + edi + 0xd], 0
lea eax, [eax + edi + 4]
jne 0x42e71e
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je case.default.0x42e7ba
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42e729
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42e73b
cmp eax, 0xa
je 0x42e75c
cmp eax, 5
je 0x42e771
cmp eax, 0xb
je 0x42e77d
cmp eax, 0xc
je 0x42e79b
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x42e7b0
push 0x10
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e92c
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
mov eax, dword [edx + edi + 8]
lea esi, [edx + edi + 4]
jne 0x42e933
cmp byte [eax + 0x18], 0
jne 0x42e95b
cmp byte [esi + 9], 0
jne 0x42e971
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x42e97c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
cmp byte [ecx + ebx + 0xd], 0
lea edi, [ecx + ebx + 4]
jne 0x42e998
cmp byte [edi + 8], 0
jne 0x42e9b8
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x40a0a1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x42e9c1
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x42e9d3
cmp eax, 0xa
je 0x42e9f6
cmp eax, 5
je 0x42ea0c
cmp eax, 0xb
je 0x42ea19
cmp eax, 0xc
je 0x42ea39
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x40a058
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x42ea4f
push ebx
call fcn.00410eb6
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42ea6b
cmp eax, 0xa
je 0x42ea8c
cmp eax, 5
je 0x42eaa1
cmp eax, 0xb
je 0x42eaad
cmp eax, 0xc
je 0x42eacb
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00410eb6
mov ebx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [edi + 4], edx
mov byte [edi + 9], 0
dec dword [edi]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx + 8]
add eax, ebx
cmp byte [eax + 0xd], 0
jne 0x42eae0
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x42eae8
mov byte [eax + 0x18], 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov dword [esp + 0x48], eax
jne 0x42eaf0
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je case.default.0x42eb8c
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42eafb
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42eb0d
cmp eax, 0xa
je 0x42eb2e
cmp eax, 5
je 0x42eb43
cmp eax, 0xb
je 0x42eb4f
cmp eax, 0xc
je 0x42eb6d
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x42eb82
mov eax, dword [esp + 0xa0]
mov dword [ebx], eax
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
cmp byte [eax + 0xd], 0
jne 0x42ed65
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4b7fa5], 0
jne 0x42ed70
mov ecx, dword [0x4b7fa0]
cmp byte [0x4b7fa4], 0
jne 0x42ed92
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x40a275
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x40a1be
push eax
call fcn.0040b200
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x42eda2
cmp byte [esi + 0x10], 0
jne 0x40a244
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x40a244
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x40a1fe
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x42edaf
push edi
call fcn.00410eb6
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42edcb
cmp eax, 0xa
je 0x42edec
cmp eax, 5
je 0x42ee01
cmp eax, 0xb
je 0x42ee0d
cmp eax, 0xc
je 0x42ee2b
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.00410eb6
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x40a268
mov edx, dword [esi]
push edx
call fcn.0041279c
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
push esi
call fcn.00410eb6
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.00410eb6
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4b7fa0], edx
mov byte [0x4b7fa5], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4b7f9c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x42ee40
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x42ee56
cmp eax, 0xa
je 0x42ee7a
cmp eax, 5
je 0x42ee94
cmp eax, 0xb
je 0x42eea5
cmp eax, 0xc
je 0x42eec6
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x42eee0
cmp esi, 8
je 0x42eefd
cmp esi, 0xa
je 0x42ef2d
cmp esi, 5
je 0x42ef53
cmp esi, 0xb
je 0x42ef6b
cmp esi, 0xc
je 0x42ef93
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x42efb9
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x42efd3
cmp eax, 0xa
je 0x42efff
cmp eax, 5
je 0x42f01d
cmp eax, 0xb
je 0x42f032
cmp eax, 0xc
je 0x42f05b
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x40a3a4
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.00410eb6
inc esi
add esp, 4
cmp esi, edi
jb 0x40a393
mov edx, dword [esp + 0x64]
push edx
call fcn.00410eb6
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x40a440
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x40a439
mov edi, dword [esi + 0xc]
test edi, edi
je 0x40a3f3
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x42f079
push edi
call fcn.00410eb6
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42f095
cmp eax, 0xa
je 0x42f0b6
cmp eax, 5
je 0x42f0cb
cmp eax, 0xb
je 0x42f0d7
cmp eax, 0xc
je 0x42f0f5
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00410eb6
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x40a3c0
mov edx, dword [esp + 0x34]
push edx
call fcn.00410eb6
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi]
mov dword [esi], eax
jmp case.default.0x409bc0
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x409570
jmp 0x42dafb
add eax, eax
cmp eax, 4
jae 0x40a485
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004128c9
mov edx, dword [esp + 0x68]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.00412420
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.00410eb6
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x40972e
add eax, eax
cmp eax, 4
jae 0x40a4e2
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004128c9
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00412420
add esp, 0xc
push ebx
call fcn.00410eb6
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4097b3
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x409d44
mov eax, 8
jmp 0x4094d0
xor eax, eax
jmp 0x40951c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.0040d210
mov edx, dword [esp + 0x34]
inc edx
push edx
call fcn.0044a68b
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
mov dword [esp + 0x38], esi
neg ecx
or ecx, eax
push ecx
call fcn.00410eab
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push edx
push esi
call fcn.00412420
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x409539
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x42f115
mov eax, dword [eax + 0x140]
dec eax
js 0x42dafb
mov dword [esp + 0x5c], 0
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
lea eax, [eax + edx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + eax*4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
call fcn.0040ba90
test eax, eax
jns 0x42dae2
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x42daf1
jle 0x42db18
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x42daac
lea ecx, [esp + 0x30]
call fcn.00402000
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call fcn.0048269a
jmp 0x40a44f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x42dafb
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00402000
jmp 0x4095cb
sub ecx, 0x37
jne 0x409679
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 - 4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x6f
push eax
jmp 0x42f115
dec esi
inc eax
jmp 0x409668
inc esi
jmp 0x409679
mov dword [esp + 0x50], ecx
jmp 0x4096c3
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x42db83
mov bl, 1
jmp 0x42db91
cmp ecx, 0x1e
jne 0x42df2e
mov edi, pe_nt_image_headers32
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x42db6f
jmp 0x40970c
xor eax, eax
jmp 0x409742
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x33
jne 0x42df3a
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.0040c090
test al, al
je 0x42df56
test dword [esp + 0x18], 0x100
je 0x42dc1b
test edi, 0x100
jne 0x42dc1b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0xb0
push eax
jmp 0x42f115
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x42dc8c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x4e
jne 0x42dc8c
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.0040c2b0
test eax, eax
je 0x42dc8c
lea esi, [esp + 0x20]
call fcn.00408d30
lea ecx, [esp + 0x60]
call fcn.00435113
lea ecx, [esp + 0x30]
call fcn.00410cb0
mov eax, edi
jmp 0x40a44f
lea esi, [esp + 0x20]
call fcn.00408d30
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.0040b810
mov ebx, dword [esp + 0x14]
jmp 0x409834
push eax
call fcn.00446a47
mov dword [esp + 0x2c], 0
jmp 0x409762
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409793
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esp + 0x20]
push edx
call fcn.00410eb6
add esp, 4
jmp 0x409793
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409793
push eax
call fcn.00448297
jmp 0x409793
lea eax, [esp + 0x20]
call fcn.0040ea90
jmp 0x409793
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.00410eb6
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.00410eb6
add esp, 4
jmp 0x409793
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409793
push eax
call fcn.0044f3f2
jmp 0x409793
dec eax
cmp eax, 0xb
ja case.default.0x42dd58
jmp dword [eax*4 + 0x42f13f]
push 0x10
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42dd95
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
jmp 0x4097e8
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x4097e8
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], ecx
jmp 0x4097e8
fld qword [esp + 0x20]
fstp qword [ebx]
jmp 0x4097e8
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
jmp 0x4097e8
push 0x214
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42ddee
mov esi, dword [esp + 0x20]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42ddf0
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je case.default.0x42dd58
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x4097e8
cmp dword [esp + 0x20], 0
je case.default.0x42dd58
push 0x10
call fcn.004128c9
add esp, 4
push eax
mov dword [ebx], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns 0x4097e8
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.00410eb6
add esp, 4
mov dword [ebx], 0
jmp 0x4097e8
mov dl, byte [esp + 0x20]
mov byte [ebx], dl
jmp 0x4097e8
push 0x18
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42de8c
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0044f8d1
mov dword [ebx], eax
jmp 0x4097e8
xor eax, eax
mov dword [ebx], eax
jmp 0x4097e8
push 8
call fcn.004128c9
mov dword [ebx], eax
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [ebx]
mov eax, dword [edx]
add esp, 4
test eax, eax
je 0x42dee1
push eax
call fcn.004128c9
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
add esp, 4
push edx
mov edx, dword [ecx + 4]
push edx
push eax
call fcn.00412420
add esp, 0xc
jmp 0x4097e8
push 1
call fcn.004128c9
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add esp, 4
mov byte [eax], 0
jmp 0x4097e8
push 0x14
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42de8c
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.00475124
mov dword [ebx], eax
jmp 0x4097e8
xor eax, eax
jmp 0x4097ea
add dword [esp + 0x10], 2
jmp 0x409834
push 0xffffffffffffffff
push 0x91
jmp 0x42f111
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x91
push eax
jmp 0x42f115
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
jmp 0x42f115
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x42f111
mov dword [esp + 0x4c], esi
jmp 0x4098db
mov edx, dword [0x4b7fa0]
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4b7fa0]
mov dword [ecx + 4], eax
mov byte [0x4b7fa5], 0
jmp 0x40992b
mov dword [edi + 4], esi
jmp 0x40990e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004128c9
add esp, 4
cmp eax, esi
je 0x42dfd8
push eax
call fcn.0044f435
jmp 0x42dfda
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.0040e010
mov edx, dword [edi]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [edi]
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ecx, dword [edi]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
add ecx, 0x18
push eax
push ecx
mov ecx, edi
call fcn.00457792
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call fcn.00457792
xor esi, esi
jmp 0x40991c
xor edi, edi
jmp 0x40991c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x42e04f
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b200
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x42e064
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b200
cmp byte [edi + 0x10], 0
jne 0x42e080
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x42e080
push 1
call fcn.0040e9e0
push edi
call fcn.00446a47
jmp 0x40993d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x42e0ad
cmp edi, 0x1e
jne 0x42e0b1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x14]
inc esi
add edx, 4
mov edi, dword [edx]
cmp word [edi + 8], bx
je 0x42e08b
mov dword [esp + 0x10], esi
jmp 0x4099aa
mov edi, dword [esp + 0x34]
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + esi*4]
push 1
push eax
push edx
call fcn.0043642b
push eax
mov eax, dword [ecx]
push eax
call fcn.0046662e
test al, al
je 0x42e6c9
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x409d65
lea ebx, [esp + 0xbc]
call fcn.0040d3e0
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], 0
mov eax, dword [edx + esi*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x42e129
cmp cx, 0x49
jne 0x42e144
lea edi, [esp + 0xbc]
call fcn.00402540
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4 + 0xc]
lea edi, [esp + 0xbc]
call fcn.00402540
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.004024d0
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.00402540
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.0040a570
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x14]
add eax, eax
add eax, eax
mov esi, dword [eax + edx]
mov esi, dword [esi]
mov dword [esp + 0x48], eax
or ecx, 0x200
mov eax, 1
lea edx, [esp + 0x20]
call fcn.004018a0
jmp 0x409d46
push esi
mov eax, edi
push edx
mov edi, 0x4b7f8c
call fcn.00403c00
jmp 0x409d46
mov ecx, dword [0x4b7fa0]
mov ebx, dword [ecx + 8]
jmp 0x409a10
or dword [0x4b9654], 1
push 0x4b9634
call fcn.0044f435
push 0x429e2d
call fcn.00412a6c
add esp, 4
xor eax, eax
jmp 0x409a2f
test edx, edx
jne 0x42e238
test eax, eax
jne 0x409aa7
jmp 0x409a5e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x409a99
or eax, 0xffffffff
jmp 0x409a99
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.0040d0d0
jmp 0x409a99
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x409ab4
push eax
push edi
call fcn.00447240
add esp, 8
test al, al
je 0x42e275
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x18], edx
mov ecx, dword [ebx]
mov dword [eax + 0x1c], ecx
mov dword [ebx], eax
cmp dword [eax + 0x18], 0
je 0x409ab4
mov edx, dword [ebx]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x18], edx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [ebx], ecx
jmp 0x409a42
push edi
push eax
call fcn.00447240
add esp, 8
test al, al
je 0x42e2ba
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebx]
mov dword [eax + 0x18], edx
mov dword [ebx], eax
cmp dword [eax + 0x1c], 0
je 0x409ab4
mov eax, dword [ebx]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x74], eax
mov dword [ebx], edx
jmp 0x409a46
mov byte [esp + 0x43], 1
jmp 0x409ab4
mov ebx, dword [ebx]
test ebx, ebx
je 0x409aec
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.00408c70
jmp 0x409d46
xor eax, eax
jmp 0x409b51
xor ebx, ebx
jmp 0x409b56
dec dword [eax]
mov edx, dword [edi + 4]
mov dword [ebx + 4], edx
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov ecx, dword [edi]
mov dword [ebx], ecx
mov edi, dword [edi + 0xc]
mov dword [ebx + 0xc], edi
inc dword [edi]
jmp 0x409b8e
push eax
call fcn.0044a68b
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x42e342
push eax
call fcn.0041279c
add esp, 4
mov eax, dword [ebx + 8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00410eab
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x409b78
xor eax, eax
jmp 0x409bf4
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp case.default.0x409bc0
fld qword [edi]
fstp qword [esi]
jmp case.default.0x409bc0
mov edx, dword [edi]
mov dword [esi], edx
jmp case.default.0x409bc0
push 0x214
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e3bc
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42e3be
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp dword [eax + 4], 0
je case.default.0x409bc0
mov eax, dword [eax + 4]
inc dword [eax]
jmp case.default.0x409bc0
cmp dword [edi], ecx
je case.default.0x409bc0
push 0x10
call fcn.004128c9
add esp, 4
push eax
mov dword [esi], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, dword [edi]
mov eax, dword [esi]
push edx
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns case.default.0x409bc0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esi]
push edx
call fcn.00410eb6
add esp, 4
mov dword [esi], 0
jmp case.default.0x409bc0
mov al, byte [edi]
mov byte [esi], al
jmp case.default.0x409bc0
push 0x18
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e4d3
mov ecx, dword [edi]
push ecx
push eax
call fcn.0044f8d1
jmp 0x40a45a
push 8
call fcn.004128c9
mov dword [esi], eax
mov edx, dword [edi]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [edx]
add esp, 4
test eax, eax
je 0x42e497
push eax
call fcn.004128c9
mov ecx, dword [esi]
mov dword [ecx + 4], eax
mov esi, dword [esi]
mov edx, dword [esi]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add esp, 4
push edx
mov edx, dword [esi + 4]
push ecx
push edx
call fcn.00412420
add esp, 0xc
jmp case.default.0x409bc0
push 1
call fcn.004128c9
mov ecx, dword [esi]
mov dword [ecx + 4], eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
add esp, 4
mov byte [eax], 0
jmp case.default.0x409bc0
push 0x14
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e4d3
mov ecx, dword [edi]
push ecx
push eax
call fcn.00475124
jmp 0x40a45a
xor eax, eax
jmp 0x40a45a
or dword [0x4b9654], 1
push 0x4b9634
call fcn.0044f435
push 0x429e2d
call fcn.00412a6c
add esp, 4
jmp 0x409c21
cmp edx, edi
jne 0x42e533
cmp eax, edi
jne 0x409c9d
jmp 0x409c56
xor edi, edi
xor eax, eax
jmp 0x409c93
or eax, 0xffffffff
xor edi, edi
jmp 0x409c93
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d0d0
jmp 0x409c93
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x409cae
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.00447240
add esp, 8
test al, al
je 0x42e57c
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x1c], esi
mov esi, eax
cmp dword [eax + 0x18], edi
je 0x409cae
add eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], esi
mov dword [esp + 0x74], esi
mov esi, dword [ecx]
jmp 0x409c40
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.00447240
add esp, 8
test al, al
je 0x42e5ca
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x18], esi
mov esi, eax
cmp dword [eax + 0x1c], edi
je 0x409cae
add eax, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], esi
mov dword [esp + 0x58], esi
mov esi, dword [ecx]
jmp 0x409c40
cmp edx, edi
jne 0x42e616
cmp eax, edi
jne 0x409d31
jmp 0x409ce9
xor edi, edi
xor eax, eax
jmp 0x409d23
or eax, 0xffffffff
xor edi, edi
jmp 0x409d23
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d0d0
jmp 0x409d23
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x409d40
mov ebx, esi
jmp 0x409d40
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x42e658
cmp ax, 0x49
je 0x42e658
add dword [esp + 0x10], 4
jmp 0x409d65
add dword [esp + 0x10], 5
jmp 0x409d65
cmp ax, 0x3f
jg 0x409d7b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x409d7b
push eax
call fcn.00446a47
jmp 0x409d7b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42e6a0
push eax
call fcn.004508b9
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x42e688
jmp 0x409d94
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call fcn.004781c7
mov byte [edi + 9], 0
jmp 0x409e74
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [eax + esi*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
call fcn.0046559a
lea ecx, [esp + 0xd0]
push ecx
call fcn.0044f497
lea ecx, [esp + 0xbc]
call fcn.0040eee0
jmp 0x42f11a
xor eax, eax
jmp 0x409e6b
call fcn.0040c5c0
cmp ebx, dword [edi]
jb 0x42e708
jmp 0x409e9f
mov eax, dword [eax + 0x38]
jmp 0x409ec2
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x409ee9
push eax
call fcn.00446a47
mov dword [ebx + 0xc], 0
jmp 0x409eff
mov ecx, dword [ebx]
test ecx, ecx
je 0x409f0b
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.00410eb6
add esp, 4
jmp 0x409f2f
mov eax, dword [ebx]
test eax, eax
je 0x409f2f
push eax
call fcn.00448297
jmp 0x409f2f
mov eax, ebx
call fcn.0040ea90
jmp 0x409f2f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.00410eb6
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.00410eb6
add esp, 4
jmp 0x409f2f
mov eax, dword [ebx]
test eax, eax
je 0x409f2f
push eax
call fcn.0044f3f2
jmp 0x409f2f
dec eax
cmp eax, 0xb
ja case.default.0x42e7ba
jmp dword [eax*4 + 0x42f16f]
mov ecx, dword [esi]
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
jmp case.default.0x42e7ba
mov eax, dword [esi]
mov dword [ebx], eax
jmp case.default.0x42e7ba
fld qword [esi]
fstp qword [ebx]
jmp case.default.0x42e7ba
mov ecx, dword [esi]
mov dword [ebx], ecx
jmp case.default.0x42e7ba
push 0x214
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e810
mov esi, dword [esi]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42e812
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x42e823
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [ebp + 8]
jmp case.default.0x42e7ba
cmp dword [esi], 0
je 0x42e823
push 0x10
call fcn.004128c9
add esp, 4
push eax
mov dword [ebx], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, dword [esi]
mov eax, dword [ebx]
push edx
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns case.default.0x42e7ba
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.00410eb6
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42e7ba
mov al, byte [esi]
mov byte [ebx], al
jmp case.default.0x42e7ba
push 0x18
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e8a1
mov ecx, dword [esi]
push ecx
push eax
call fcn.0044f8d1
mov dword [ebx], eax
jmp case.default.0x42e7ba
xor eax, eax
mov dword [ebx], eax
jmp case.default.0x42e7ba
push 8
call fcn.004128c9
mov dword [ebx], eax
mov edx, dword [esi]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [ebx]
mov eax, dword [edx]
add esp, 4
test eax, eax
je 0x42e8f2
push eax
call fcn.004128c9
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov ebx, dword [ebx]
mov edx, dword [ebx]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add esp, 4
push edx
mov edx, dword [ebx + 4]
push ecx
push edx
call fcn.00412420
add esp, 0xc
jmp case.default.0x42e7ba
push 1
call fcn.004128c9
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add esp, 4
mov byte [eax], 0
jmp case.default.0x42e7ba
push 0x14
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42e8a1
mov ecx, dword [esi]
push ecx
push eax
call fcn.00475124
mov dword [ebx], eax
jmp case.default.0x42e7ba
xor eax, eax
jmp 0x409f78
mov eax, dword [eax + 0x38]
jmp 0x409f93
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.00408d30
mov dword [esi + 8], 1
mov dword [esi], 0
jmp case.default.0x42e7ba
mov eax, esi
call fcn.00403ab0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x409f9d
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x409faa
mov eax, esi
call fcn.00403ab0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.00408c70
jmp 0x409fb4
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x42e9ac
push eax
call fcn.00450dea
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x409fcb
mov byte [edi + 9], 1
jmp 0x40a0ac
push eax
call fcn.00446a47
mov dword [esi + 0x2c], 0
jmp 0x409ff2
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x409ffe
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esi + 0x20]
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a022
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a022
push eax
call fcn.00448297
jmp 0x40a022
lea eax, [esi + 0x20]
call fcn.0040ea90
jmp 0x40a022
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00410eb6
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a022
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a022
push eax
call fcn.0044f3f2
jmp 0x40a022
mov edx, dword [ebx]
push edx
call fcn.0041279c
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a048
mov ecx, dword [esi]
test ecx, ecx
je 0x40a064
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a088
mov eax, dword [esi]
test eax, eax
je 0x40a088
push eax
call fcn.00448297
jmp 0x40a088
mov eax, esi
call fcn.0040ea90
jmp 0x40a088
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00410eb6
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a088
mov eax, dword [esi]
test eax, eax
je 0x40a088
push eax
call fcn.0044f3f2
jmp 0x40a088
mov ecx, dword [ecx + 0x38]
jmp 0x40a0c3
mov eax, dword [eax + 0x38]
jmp 0x40a0da
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x40a0f6
push eax
call fcn.00446a47
mov dword [ebx + 0xc], 0
jmp 0x40a10f
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a11b
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a13f
mov eax, dword [ebx]
test eax, eax
je 0x40a13f
push eax
call fcn.00448297
jmp 0x40a13f
mov eax, ebx
call fcn.0040ea90
jmp 0x40a13f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.00410eb6
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a13f
mov eax, dword [ebx]
test eax, eax
je 0x40a13f
push eax
call fcn.0044f3f2
jmp 0x40a13f
dec eax
cmp eax, 0xb
ja case.default.0x42eb8c
jmp dword [eax*4 + 0x42f19f]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.default.0x42eb8c
fld qword [esp + 0xa0]
fstp qword [ebx]
jmp case.default.0x42eb8c
push 0x10
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42ebf2
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
jmp case.default.0x42eb8c
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.default.0x42eb8c
mov ecx, dword [esp + 0xa0]
mov dword [ebx], ecx
jmp case.default.0x42eb8c
push 0x214
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42ec34
mov esi, dword [esp + 0xa0]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42ec36
xor eax, eax
mov edi, dword [esp + 0x68]
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x40a165
mov eax, dword [eax + 4]
inc dword [eax]
jmp 0x40a165
mov esi, dword [esp + 0xa0]
test esi, esi
je case.default.0x42eb8c
push 0x10
call fcn.004128c9
add esp, 4
push eax
mov dword [ebx], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, dword [ebx]
push esi
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns case.default.0x42eb8c
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.00410eb6
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42eb8c
mov dl, byte [esp + 0xa0]
mov byte [ebx], dl
jmp case.default.0x42eb8c
push 0x18
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42ecd6
mov ecx, dword [esp + 0xa0]
push ecx
push eax
call fcn.0044f8d1
jmp 0x40a15f
xor eax, eax
jmp 0x40a15f
push 8
call fcn.004128c9
mov esi, dword [esp + 0xa4]
mov dword [ebx], eax
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [ebx]
mov eax, dword [eax]
add esp, 4
test eax, eax
je 0x42ed28
push eax
call fcn.004128c9
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov ebx, dword [ebx]
mov edx, dword [ebx]
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 4]
add esp, 4
push edx
push eax
push ecx
call fcn.00412420
add esp, 0xc
jmp case.default.0x42eb8c
push 1
call fcn.004128c9
mov edx, dword [ebx]
mov dword [edx + 4], eax
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
add esp, 4
mov byte [ecx], 0
jmp case.default.0x42eb8c
push 0x14
call fcn.004128c9
add esp, 4
test eax, eax
je 0x42ecd6
mov edx, dword [esp + 0xa0]
push edx
push eax
call fcn.00475124
jmp 0x40a15f
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x40a176
mov eax, dword [0x4b7fa0]
mov esi, dword [eax + 8]
push eax
call fcn.00474744
mov ecx, esi
mov dword [0x4b7fa0], ecx
mov byte [0x4b7fa5], 0
jmp 0x40a18d
mov ebx, dword [esp + 0x64]
mov byte [0x4b7fa5], 1
jmp 0x40a297
push eax
mov ecx, ebx
call fcn.0040b200
jmp 0x40a1c9
mov ecx, dword [edi]
push ecx
call fcn.0041279c
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.00410eb6
add esp, 4
jmp 0x40a1ee
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a20a
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebx]
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a22e
mov eax, dword [ebx]
test eax, eax
je 0x40a22e
push eax
call fcn.00448297
jmp 0x40a22e
mov eax, ebx
call fcn.0040ea90
jmp 0x40a22e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.00410eb6
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a22e
mov eax, dword [ebx]
test eax, eax
je 0x40a22e
push eax
call fcn.0044f3f2
jmp 0x40a22e
push eax
call fcn.00446a47
mov dword [esp + 0xac], 0
jmp 0x40a2bc
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x40a2f0
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.00410eb6
add esp, 4
jmp 0x40a2f0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a2f0
push eax
call fcn.00448297
jmp 0x40a2f0
lea eax, [esp + 0xa0]
call fcn.0040ea90
jmp 0x40a2f0
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.00410eb6
add esp, 4
push esi
call fcn.00410eb6
add esp, 4
jmp 0x40a2f0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a2f0
push eax
call fcn.0044f3f2
jmp 0x40a2f0
push eax
call fcn.00446a47
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a31b
cmp dword [esp + 0x80], ecx
je 0x40a348
mov esi, dword [esp + 0x80]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.00410eb6
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a348
cmp dword [esp + 0x80], ecx
je 0x40a348
mov eax, dword [esp + 0x80]
push eax
call fcn.00448297
mov edx, 1
xor ecx, ecx
jmp 0x40a348
lea eax, [esp + 0x80]
call fcn.0040ea90
mov edx, 1
xor ecx, ecx
jmp 0x40a348
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.00410eb6
add esp, 4
push esi
call fcn.00410eb6
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a348
cmp dword [esp + 0x80], ecx
je 0x40a348
mov edx, dword [esp + 0x80]
push edx
call fcn.0044f3f2
mov edx, 1
xor ecx, ecx
jmp 0x40a348
push eax
call fcn.00446a47
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a354
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a385
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x20]
push eax
call fcn.00410eb6
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a385
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a385
push eax
call fcn.00448297
mov edx, 1
xor ecx, ecx
jmp 0x40a385
lea eax, [esp + 0x20]
call fcn.0040ea90
mov edx, 1
xor ecx, ecx
jmp 0x40a385
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00410eb6
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a385
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a385
push eax
call fcn.0044f3f2
mov edx, 1
xor ecx, ecx
jmp 0x40a385
mov edx, dword [edi]
push edx
call fcn.0041279c
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.00410eb6
add esp, 4
jmp 0x40a3e3
mov ecx, dword [esi]
test ecx, ecx
je 0x40a3ff
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a423
mov eax, dword [esi]
test eax, eax
je 0x40a423
push eax
call fcn.00448297
jmp 0x40a423
mov eax, esi
call fcn.0040ea90
jmp 0x40a423
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00410eb6
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00410eb6
add esp, 4
jmp 0x40a423
mov eax, dword [esi]
test eax, eax
je 0x40a423
push eax
call fcn.0044f3f2
jmp 0x40a423
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046559a
lea esi, [esp + 0x20]
call fcn.00408d30
lea ecx, [esp + 0x60]
call fcn.00435113
lea ecx, [esp + 0x30]
call fcn.00410cb0
mov eax, 1
jmp 0x40a44f