Function at 0x4098f0
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.004110e1
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x42970e
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.004114f7
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.00410d80
add esp, 0xc
push 4
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429718
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x4297ee
cmp dword [eax], 1
jg 0x42971f
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 0x429786
mov esi, dword [eax + 0x134]
test esi, esi
je 0x4297ee
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x40a8c5
test edx, edx
je 0x409a09
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4099f0
mov si, word [eax]
cmp si, word [ecx]
jne 0x40a8c1
add eax, 2
add ecx, 2
dec edx
jne 0x4099f0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x409a2b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004110fc
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.004110fc
add esp, 4
mov eax, esi
test eax, eax
je 0x4297f7
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], 0x488068
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x48c440
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x42977a
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 0x409adc
inc eax
jmp 0x409ac8
sub ecx, 0x47
je 0x429853
dec ecx
jne 0x42982a
test esi, esi
jne 0x42984c
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x429859
cmp eax, ecx
jle 0x429859
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x409cf2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x409cf2
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 0x429862
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x409b7e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x40a8d9
push 1
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42989a
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 0x4298a1
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4299ab
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4299be
cmp eax, 0xa
je 0x4299e3
cmp eax, 5
je 0x4299fa
cmp eax, 0xb
je 0x429a08
cmp eax, 0xc
je 0x429a2a
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x40a936
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429c10
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x429a41
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.0040a9d0
test eax, eax
jne 0x42ae0d
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 0x429c17
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x409cf2
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 0x429c66
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x429c66
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 0x409cdf
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x409b40
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x42adfd
cmp eax, dword [esp + 0x5c]
jg 0x42adfd
cmp edx, dword [esp + 0x14]
jne 0x42adfd
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 0x429c78
cmp byte [0x4a7f3d], al
jne 0x429c81
push 0xc
call fcn.004114f7
add esp, 4
cmp eax, esi
je 0x429d24
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x429ca2
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x429caa
mov dword [edi], esi
mov ecx, dword [0x4a7f38]
mov dword [edi + 8], ecx
mov dword [0x4a7f38], edi
mov eax, dword [esp + 0x48]
inc dword [0x4a7f34]
cmp eax, esi
jne 0x429d2b
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x40a229
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], 0x485a44
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 0x429d7e
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x429de5
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x429db5
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 [0x4a7f34], ebx
je 0x429eaf
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x429ec2
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x409f4c
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x429ed0
mov dword [0x4a95e0], eax
mov dword [0x4a95dc], eax
mov eax, 0x4a95c4
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 0x429ef5
test edx, edx
je 0x429efd
cmp eax, edx
jb 0x429f1d
test eax, eax
je 0x429f0e
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x409eea
add eax, 2
add ecx, 2
dec edx
jne 0x409ed4
jmp 0x429f0a
mov ebx, dword [esp + 0x14]
jb 0x429f15
mov eax, 1
test eax, eax
js 0x429f2b
jle 0x429fc6
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x429f7d
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 [0x4a95e0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4a95dc]
mov dword [edx + 0x1c], eax
jne 0x429fd0
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429ff3
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.004114f7
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429fec
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x409fee
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x429ffa
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x42a019
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.00410d80
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004114f7
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x40a05b
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.0x40a020
jmp dword [eax*4 + 0x40a994]
push 0x10
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a05e
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 0x40a989
test byte [0x4a95e4], 1
je 0x42a1cd
mov eax, 0x4a95c4
mov dword [0x4a95e0], edi
mov dword [0x4a95dc], 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 0x42a1f0
cmp edx, edi
je 0x42a1f8
cmp eax, edx
jb 0x42a218
cmp eax, edi
jbe 0x42a207
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x40a0e6
add eax, 2
add ecx, 2
dec edx
jne 0x40a0d0
jmp 0x42a205
jb 0x42a20e
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a226
jle 0x40a10e
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x42a285
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 [0x4a95e0]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4a95dc]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x42a2d3
cmp edx, edi
je 0x42a2db
cmp eax, edx
jb 0x42a2fb
cmp eax, edi
jbe 0x42a2ea
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x40a176
add eax, 2
add ecx, 2
dec edx
jne 0x40a160
jmp 0x42a2e8
jb 0x42a2f1
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a309
jle 0x42a31a
mov ecx, dword [0x4a95dc]
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 0x42a321
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x42a355
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x485a44
ja 0x42a379
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.004110fc
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x409db0
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 0x42a3a2
push 0x40
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a3f4
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.00409430
cmp ebx, dword [edi]
jb 0x42a3fb
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 0x42a409
cmp byte [eax + 0x10], 0
je 0x42a62e
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 0x42a411
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je case.default.0x42a4ad
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a41c
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a42e
cmp eax, 0xa
je 0x42a44f
cmp eax, 5
je 0x42a464
cmp eax, 0xb
je 0x42a470
cmp eax, 0xc
je 0x42a48e
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x42a4a3
push 0x10
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a61f
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 0x42a626
cmp byte [eax + 0x18], 0
jne 0x42a64e
cmp byte [esi + 9], 0
jne 0x42a664
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x42a66f
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 0x42a68b
cmp byte [edi + 8], 0
jne 0x42a6ab
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x40a501
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x42a6b4
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x42a6c6
cmp eax, 0xa
je 0x42a6e9
cmp eax, 5
je 0x42a6ff
cmp eax, 0xb
je 0x42a70c
cmp eax, 0xc
je 0x42a72c
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x40a4b8
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x42a742
push ebx
call fcn.004110fc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42a75e
cmp eax, 0xa
je 0x42a77f
cmp eax, 5
je 0x42a794
cmp eax, 0xb
je 0x42a7a0
cmp eax, 0xc
je 0x42a7be
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004110fc
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 0x42a7d3
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x42a7db
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 0x42a7e3
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je case.default.0x42a87f
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a7ee
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a800
cmp eax, 0xa
je 0x42a821
cmp eax, 5
je 0x42a836
cmp eax, 0xb
je 0x42a842
cmp eax, 0xc
je 0x42a860
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x42a875
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 0x42aa58
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x42aa63
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x42aa85
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x40a6d5
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x40a61e
push eax
call fcn.0040b650
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x42aa95
cmp byte [esi + 0x10], 0
jne 0x40a6a4
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x40a6a4
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x40a65e
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x42aaa2
push edi
call fcn.004110fc
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42aabe
cmp eax, 0xa
je 0x42aadf
cmp eax, 5
je 0x42aaf4
cmp eax, 0xb
je 0x42ab00
cmp eax, 0xc
je 0x42ab1e
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.004110fc
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x40a6c8
mov edx, dword [esi]
push edx
call fcn.004110fc
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
push esi
call fcn.004110fc
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.004110fc
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4a7f38], edx
mov byte [0x4a7f3d], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4a7f34]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x42ab33
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x42ab49
cmp eax, 0xa
je 0x42ab6d
cmp eax, 5
je 0x42ab87
cmp eax, 0xb
je 0x42ab98
cmp eax, 0xc
je 0x42abb9
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 0x42abd3
cmp esi, 8
je 0x42abf0
cmp esi, 0xa
je 0x42ac20
cmp esi, 5
je 0x42ac46
cmp esi, 0xb
je 0x42ac5e
cmp esi, 0xc
je 0x42ac86
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x42acac
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x42acc6
cmp eax, 0xa
je 0x42acf2
cmp eax, 5
je 0x42ad10
cmp eax, 0xb
je 0x42ad25
cmp eax, 0xc
je 0x42ad4e
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x40a804
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.004110fc
inc esi
add esp, 4
cmp esi, edi
jb 0x40a7f3
mov edx, dword [esp + 0x64]
push edx
call fcn.004110fc
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x40a8a0
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x40a899
mov edi, dword [esi + 0xc]
test edi, edi
je 0x40a853
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x42ad6c
push edi
call fcn.004110fc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42ad88
cmp eax, 0xa
je 0x42ada9
cmp eax, 5
je 0x42adbe
cmp eax, 0xb
je 0x42adca
cmp eax, 0xc
je 0x42ade8
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004110fc
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x40a820
mov edx, dword [esp + 0x34]
push edx
call fcn.004110fc
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.0x40a020
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x4099d0
jmp 0x4297ee
add eax, eax
cmp eax, 4
jae 0x40a8e5
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.004114f7
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.00410d80
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.004110fc
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x409b8e
add eax, eax
cmp eax, 4
jae 0x40a942
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.004114f7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00410d80
add esp, 0xc
push ebx
call fcn.004110fc
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x409c13
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x40a1a4
mov eax, 8
jmp 0x409930
xor eax, eax
jmp 0x40997c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.004015e0
mov edx, dword [esp + 0x34]
inc edx
push edx
call fcn.0044653c
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.004114f7
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.00410d80
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x409999
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x42ae08
mov eax, dword [eax + 0x140]
dec eax
js 0x4297ee
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.0040bf10
test eax, eax
jns 0x4297d5
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x4297e4
jle 0x42980b
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x42979f
lea ecx, [esp + 0x30]
call fcn.00402480
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call fcn.0047dc75
jmp 0x40a8af
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x4297ee
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00402480
jmp 0x409a2b
sub ecx, 0x37
jne 0x409ad9
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 0x42ae08
dec esi
inc eax
jmp 0x409ac8
inc esi
jmp 0x409ad9
mov dword [esp + 0x50], ecx
jmp 0x409b23
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x429876
mov bl, 1
jmp 0x429884
cmp ecx, 0x1e
jne 0x429c21
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x429862
jmp 0x409b6c
xor eax, eax
jmp 0x409ba2
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 0x429c2d
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.0040c510
test al, al
je 0x429c49
test dword [esp + 0x18], 0x100
je 0x42990e
test edi, 0x100
jne 0x42990e
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 0x42ae08
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x42997f
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 0x42997f
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.0040c730
test eax, eax
je 0x42997f
lea esi, [esp + 0x20]
call fcn.00409190
lea ecx, [esp + 0x60]
call fcn.00430c87
lea ecx, [esp + 0x30]
call fcn.00410b80
mov eax, edi
jmp 0x40a8af
lea esi, [esp + 0x20]
call fcn.00409190
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.0040bc60
mov ebx, dword [esp + 0x14]
jmp 0x409c94
push eax
call fcn.0044651e
mov dword [esp + 0x2c], 0
jmp 0x409bc2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409bf3
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esp + 0x20]
push edx
call fcn.004110fc
add esp, 4
jmp 0x409bf3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409bf3
push eax
call fcn.004430b0
jmp 0x409bf3
lea eax, [esp + 0x20]
call fcn.0040e470
jmp 0x409bf3
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.004110fc
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.004110fc
add esp, 4
jmp 0x409bf3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409bf3
push eax
call fcn.0044b350
jmp 0x409bf3
dec eax
cmp eax, 0xb
ja case.default.0x429a4b
jmp dword [eax*4 + 0x42ae32]
push 0x10
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429a88
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 0x409c48
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x409c48
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], ecx
jmp 0x409c48
fld qword [esp + 0x20]
fstp qword [ebx]
jmp 0x409c48
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
jmp 0x409c48
push 0x214
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429ae1
mov esi, dword [esp + 0x20]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x429ae3
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je case.default.0x429a4b
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x409c48
cmp dword [esp + 0x20], 0
je case.default.0x429a4b
push 0x10
call fcn.004114f7
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 0x409c48
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004110fc
add esp, 4
mov dword [ebx], 0
jmp 0x409c48
mov dl, byte [esp + 0x20]
mov byte [ebx], dl
jmp 0x409c48
push 0x18
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429b7f
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0044b82f
mov dword [ebx], eax
jmp 0x409c48
xor eax, eax
mov dword [ebx], eax
jmp 0x409c48
push 8
call fcn.004114f7
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 0x429bd4
push eax
call fcn.004114f7
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.00410d80
add esp, 0xc
jmp 0x409c48
push 1
call fcn.004114f7
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 0x409c48
push 0x14
call fcn.004114f7
add esp, 4
test eax, eax
je 0x429b7f
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0047082a
mov dword [ebx], eax
jmp 0x409c48
xor eax, eax
jmp 0x409c4a
add dword [esp + 0x10], 2
jmp 0x409c94
push 0xffffffffffffffff
push 0x91
jmp 0x42ae04
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 0x42ae08
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 0x42ae08
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x42ae04
mov dword [esp + 0x4c], esi
jmp 0x409d3b
mov edx, dword [0x4a7f38]
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4a7f38]
mov dword [ecx + 4], eax
mov byte [0x4a7f3d], 0
jmp 0x409d8b
mov dword [edi + 4], esi
jmp 0x409d6e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004114f7
add esp, 4
cmp eax, esi
je 0x429ccb
push eax
call fcn.0044b393
jmp 0x429ccd
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.0040de00
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.004533b8
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call fcn.004533b8
xor esi, esi
jmp 0x409d7c
xor edi, edi
jmp 0x409d7c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x429d42
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b650
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x429d57
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b650
cmp byte [edi + 0x10], 0
jne 0x429d73
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x429d73
push 1
call fcn.0040e3c0
push edi
call fcn.0044651e
jmp 0x409d9d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x429da0
cmp edi, 0x1e
jne 0x429da4
mov dword [esp + 0x14], 0x100
mov eax, dword [esp + 0x14]
inc esi
add edx, 4
mov edi, dword [edx]
cmp word [edi + 8], bx
je 0x429d7e
mov dword [esp + 0x10], esi
jmp 0x409e0a
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.004324d9
push eax
mov eax, dword [ecx]
push eax
call fcn.0045f4f5
test al, al
je 0x42a3bc
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x40a1c5
lea ebx, [esp + 0xbc]
call fcn.0040d740
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 0x429e1c
cmp cx, 0x49
jne 0x429e37
lea edi, [esp + 0xbc]
call fcn.004029b0
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.004029b0
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.00402940
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.004029b0
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.0040a9d0
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.00401be0
jmp 0x40a1a6
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.00404040
jmp 0x40a1a6
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x409e70
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044b393
push 0x425b32
call fcn.0041122a
add esp, 4
xor eax, eax
jmp 0x409e8f
test edx, edx
jne 0x429f2b
test eax, eax
jne 0x409f07
jmp 0x409ebe
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x409ef9
or eax, 0xffffffff
jmp 0x409ef9
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.0040d470
jmp 0x409ef9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x409f14
push eax
push edi
call fcn.004430cf
add esp, 8
test al, al
je 0x429f68
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 0x409f14
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 0x409ea2
push edi
push eax
call fcn.004430cf
add esp, 8
test al, al
je 0x429fad
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 0x409f14
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 0x409ea6
mov byte [esp + 0x43], 1
jmp 0x409f14
mov ebx, dword [ebx]
test ebx, ebx
je 0x409f4c
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.004090d0
jmp 0x40a1a6
xor eax, eax
jmp 0x409fb1
xor ebx, ebx
jmp 0x409fb6
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 0x409fee
push eax
call fcn.0044653c
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x42a035
push eax
call fcn.004110fc
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.004114f7
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x409fd8
xor eax, eax
jmp 0x40a054
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp case.default.0x40a020
fld qword [edi]
fstp qword [esi]
jmp case.default.0x40a020
mov edx, dword [edi]
mov dword [esi], edx
jmp case.default.0x40a020
push 0x214
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a0af
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a0b1
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp dword [eax + 4], 0
je case.default.0x40a020
mov eax, dword [eax + 4]
inc dword [eax]
jmp case.default.0x40a020
cmp dword [edi], ecx
je case.default.0x40a020
push 0x10
call fcn.004114f7
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.0x40a020
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esi]
push edx
call fcn.004110fc
add esp, 4
mov dword [esi], 0
jmp case.default.0x40a020
mov al, byte [edi]
mov byte [esi], al
jmp case.default.0x40a020
push 0x18
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a1c6
mov ecx, dword [edi]
push ecx
push eax
call fcn.0044b82f
jmp 0x40a8ba
push 8
call fcn.004114f7
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 0x42a18a
push eax
call fcn.004114f7
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.00410d80
add esp, 0xc
jmp case.default.0x40a020
push 1
call fcn.004114f7
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.0x40a020
push 0x14
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a1c6
mov ecx, dword [edi]
push ecx
push eax
call fcn.0047082a
jmp 0x40a8ba
xor eax, eax
jmp 0x40a8ba
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044b393
push 0x425b32
call fcn.0041122a
add esp, 4
jmp 0x40a081
cmp edx, edi
jne 0x42a226
cmp eax, edi
jne 0x40a0fd
jmp 0x40a0b6
xor edi, edi
xor eax, eax
jmp 0x40a0f3
or eax, 0xffffffff
xor edi, edi
jmp 0x40a0f3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d470
jmp 0x40a0f3
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x40a10e
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.004430cf
add esp, 8
test al, al
je 0x42a26f
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 0x40a10e
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 0x40a0a0
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.004430cf
add esp, 8
test al, al
je 0x42a2bd
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 0x40a10e
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 0x40a0a0
cmp edx, edi
jne 0x42a309
cmp eax, edi
jne 0x40a191
jmp 0x40a149
xor edi, edi
xor eax, eax
jmp 0x40a183
or eax, 0xffffffff
xor edi, edi
jmp 0x40a183
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d470
jmp 0x40a183
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x40a1a0
mov ebx, esi
jmp 0x40a1a0
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x42a34b
cmp ax, 0x49
je 0x42a34b
add dword [esp + 0x10], 4
jmp 0x40a1c5
add dword [esp + 0x10], 5
jmp 0x40a1c5
cmp ax, 0x3f
jg 0x40a1db
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x40a1db
push eax
call fcn.0044651e
jmp 0x40a1db
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42a393
push eax
call fcn.0044c736
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x42a37b
jmp 0x40a1f4
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call fcn.004738c9
mov byte [edi + 9], 0
jmp 0x40a2d4
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.0045e724
lea ecx, [esp + 0xd0]
push ecx
call fcn.0044b3f5
lea ecx, [esp + 0xbc]
call fcn.004011a0
jmp 0x42ae0d
xor eax, eax
jmp 0x40a2cb
call fcn.0040c9e0
cmp ebx, dword [edi]
jb 0x42a3fb
jmp 0x40a2ff
mov eax, dword [eax + 0x38]
jmp 0x40a322
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x40a349
push eax
call fcn.0044651e
mov dword [ebx + 0xc], 0
jmp 0x40a35f
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a36b
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.004110fc
add esp, 4
jmp 0x40a38f
mov eax, dword [ebx]
test eax, eax
je 0x40a38f
push eax
call fcn.004430b0
jmp 0x40a38f
mov eax, ebx
call fcn.0040e470
jmp 0x40a38f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.004110fc
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.004110fc
add esp, 4
jmp 0x40a38f
mov eax, dword [ebx]
test eax, eax
je 0x40a38f
push eax
call fcn.0044b350
jmp 0x40a38f
dec eax
cmp eax, 0xb
ja case.default.0x42a4ad
jmp dword [eax*4 + 0x42ae62]
mov ecx, dword [esi]
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
jmp case.default.0x42a4ad
mov eax, dword [esi]
mov dword [ebx], eax
jmp case.default.0x42a4ad
fld qword [esi]
fstp qword [ebx]
jmp case.default.0x42a4ad
mov ecx, dword [esi]
mov dword [ebx], ecx
jmp case.default.0x42a4ad
push 0x214
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a503
mov esi, dword [esi]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a505
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x42a516
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [ebp + 8]
jmp case.default.0x42a4ad
cmp dword [esi], 0
je 0x42a516
push 0x10
call fcn.004114f7
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.0x42a4ad
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.004110fc
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a4ad
mov al, byte [esi]
mov byte [ebx], al
jmp case.default.0x42a4ad
push 0x18
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a594
mov ecx, dword [esi]
push ecx
push eax
call fcn.0044b82f
mov dword [ebx], eax
jmp case.default.0x42a4ad
xor eax, eax
mov dword [ebx], eax
jmp case.default.0x42a4ad
push 8
call fcn.004114f7
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 0x42a5e5
push eax
call fcn.004114f7
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.00410d80
add esp, 0xc
jmp case.default.0x42a4ad
push 1
call fcn.004114f7
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.0x42a4ad
push 0x14
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a594
mov ecx, dword [esi]
push ecx
push eax
call fcn.0047082a
mov dword [ebx], eax
jmp case.default.0x42a4ad
xor eax, eax
jmp 0x40a3d8
mov eax, dword [eax + 0x38]
jmp 0x40a3f3
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.00409190
mov dword [esi + 8], 1
mov dword [esi], 0
jmp case.default.0x42a4ad
mov eax, esi
call fcn.00403ef0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x40a3fd
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x40a40a
mov eax, esi
call fcn.00403ef0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.004090d0
jmp 0x40a414
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x42a69f
push eax
call fcn.0044cc67
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x40a42b
mov byte [edi + 9], 1
jmp 0x40a50c
push eax
call fcn.0044651e
mov dword [esi + 0x2c], 0
jmp 0x40a452
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x40a45e
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esi + 0x20]
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a482
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a482
push eax
call fcn.004430b0
jmp 0x40a482
lea eax, [esi + 0x20]
call fcn.0040e470
jmp 0x40a482
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004110fc
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a482
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a482
push eax
call fcn.0044b350
jmp 0x40a482
mov edx, dword [ebx]
push edx
call fcn.004110fc
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a4a8
mov ecx, dword [esi]
test ecx, ecx
je 0x40a4c4
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a4e8
mov eax, dword [esi]
test eax, eax
je 0x40a4e8
push eax
call fcn.004430b0
jmp 0x40a4e8
mov eax, esi
call fcn.0040e470
jmp 0x40a4e8
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004110fc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a4e8
mov eax, dword [esi]
test eax, eax
je 0x40a4e8
push eax
call fcn.0044b350
jmp 0x40a4e8
mov ecx, dword [ecx + 0x38]
jmp 0x40a523
mov eax, dword [eax + 0x38]
jmp 0x40a53a
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x40a556
push eax
call fcn.0044651e
mov dword [ebx + 0xc], 0
jmp 0x40a56f
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a57b
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a59f
mov eax, dword [ebx]
test eax, eax
je 0x40a59f
push eax
call fcn.004430b0
jmp 0x40a59f
mov eax, ebx
call fcn.0040e470
jmp 0x40a59f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.004110fc
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a59f
mov eax, dword [ebx]
test eax, eax
je 0x40a59f
push eax
call fcn.0044b350
jmp 0x40a59f
dec eax
cmp eax, 0xb
ja case.default.0x42a87f
jmp dword [eax*4 + 0x42ae92]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.default.0x42a87f
fld qword [esp + 0xa0]
fstp qword [ebx]
jmp case.default.0x42a87f
push 0x10
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a8e5
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.0x42a87f
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.default.0x42a87f
mov ecx, dword [esp + 0xa0]
mov dword [ebx], ecx
jmp case.default.0x42a87f
push 0x214
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a927
mov esi, dword [esp + 0xa0]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a929
xor eax, eax
mov edi, dword [esp + 0x68]
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x40a5c5
mov eax, dword [eax + 4]
inc dword [eax]
jmp 0x40a5c5
mov esi, dword [esp + 0xa0]
test esi, esi
je case.default.0x42a87f
push 0x10
call fcn.004114f7
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.0x42a87f
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004110fc
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a87f
mov dl, byte [esp + 0xa0]
mov byte [ebx], dl
jmp case.default.0x42a87f
push 0x18
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a9c9
mov ecx, dword [esp + 0xa0]
push ecx
push eax
call fcn.0044b82f
jmp 0x40a5bf
xor eax, eax
jmp 0x40a5bf
push 8
call fcn.004114f7
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 0x42aa1b
push eax
call fcn.004114f7
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.00410d80
add esp, 0xc
jmp case.default.0x42a87f
push 1
call fcn.004114f7
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.0x42a87f
push 0x14
call fcn.004114f7
add esp, 4
test eax, eax
je 0x42a9c9
mov edx, dword [esp + 0xa0]
push edx
push eax
call fcn.0047082a
jmp 0x40a5bf
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x40a5d6
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call fcn.0046fe4a
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x40a5ed
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x40a6f7
push eax
mov ecx, ebx
call fcn.0040b650
jmp 0x40a629
mov ecx, dword [edi]
push ecx
call fcn.004110fc
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.004110fc
add esp, 4
jmp 0x40a64e
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a66a
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebx]
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a68e
mov eax, dword [ebx]
test eax, eax
je 0x40a68e
push eax
call fcn.004430b0
jmp 0x40a68e
mov eax, ebx
call fcn.0040e470
jmp 0x40a68e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004110fc
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a68e
mov eax, dword [ebx]
test eax, eax
je 0x40a68e
push eax
call fcn.0044b350
jmp 0x40a68e
push eax
call fcn.0044651e
mov dword [esp + 0xac], 0
jmp 0x40a71c
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x40a750
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004110fc
add esp, 4
jmp 0x40a750
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a750
push eax
call fcn.004430b0
jmp 0x40a750
lea eax, [esp + 0xa0]
call fcn.0040e470
jmp 0x40a750
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.004110fc
add esp, 4
push esi
call fcn.004110fc
add esp, 4
jmp 0x40a750
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a750
push eax
call fcn.0044b350
jmp 0x40a750
push eax
call fcn.0044651e
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a77b
cmp dword [esp + 0x80], ecx
je 0x40a7a8
mov esi, dword [esp + 0x80]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004110fc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7a8
cmp dword [esp + 0x80], ecx
je 0x40a7a8
mov eax, dword [esp + 0x80]
push eax
call fcn.004430b0
mov edx, 1
xor ecx, ecx
jmp 0x40a7a8
lea eax, [esp + 0x80]
call fcn.0040e470
mov edx, 1
xor ecx, ecx
jmp 0x40a7a8
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.004110fc
add esp, 4
push esi
call fcn.004110fc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7a8
cmp dword [esp + 0x80], ecx
je 0x40a7a8
mov edx, dword [esp + 0x80]
push edx
call fcn.0044b350
mov edx, 1
xor ecx, ecx
jmp 0x40a7a8
push eax
call fcn.0044651e
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a7b4
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a7e5
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x20]
push eax
call fcn.004110fc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7e5
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a7e5
push eax
call fcn.004430b0
mov edx, 1
xor ecx, ecx
jmp 0x40a7e5
lea eax, [esp + 0x20]
call fcn.0040e470
mov edx, 1
xor ecx, ecx
jmp 0x40a7e5
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004110fc
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7e5
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a7e5
push eax
call fcn.0044b350
mov edx, 1
xor ecx, ecx
jmp 0x40a7e5
mov edx, dword [edi]
push edx
call fcn.004110fc
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.004110fc
add esp, 4
jmp 0x40a843
mov ecx, dword [esi]
test ecx, ecx
je 0x40a85f
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a883
mov eax, dword [esi]
test eax, eax
je 0x40a883
push eax
call fcn.004430b0
jmp 0x40a883
mov eax, esi
call fcn.0040e470
jmp 0x40a883
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004110fc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004110fc
add esp, 4
jmp 0x40a883
mov eax, dword [esi]
test eax, eax
je 0x40a883
push eax
call fcn.0044b350
jmp 0x40a883
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045e724
lea esi, [esp + 0x20]
call fcn.00409190
lea ecx, [esp + 0x60]
call fcn.00430c87
lea ecx, [esp + 0x30]
call fcn.00410b80
mov eax, 1
jmp 0x40a8af