Function at 0x4096a0
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.004111c1
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x42978a
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.004115d7
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.00410e60
add esp, 0xc
push 4
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429794
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x42986a
cmp dword [eax], 1
jg 0x42979b
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 0x429802
mov esi, dword [eax + 0x134]
test esi, esi
je 0x42986a
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x40a675
test edx, edx
je 0x4097b9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4097a0
mov si, word [eax]
cmp si, word [ecx]
jne 0x40a671
add eax, 2
add ecx, 2
dec edx
jne 0x4097a0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x4097db
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004111dc
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.004111dc
add esp, 4
mov eax, esi
test eax, eax
je 0x429873
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], 0x488088
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x48b874
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x4297f6
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 0x40988c
inc eax
jmp 0x409878
sub ecx, 0x47
je 0x4298cf
dec ecx
jne 0x4298a6
test esi, esi
jne 0x4298c8
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x4298d5
cmp eax, ecx
jle 0x4298d5
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x409aa2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x409aa2
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 0x4298de
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x40992e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x40a689
push 1
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429916
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 0x42991d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x429a27
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x429a3a
cmp eax, 0xa
je 0x429a5f
cmp eax, 5
je 0x429a76
cmp eax, 0xb
je 0x429a84
cmp eax, 0xc
je 0x429aa6
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x40a6e6
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429c8c
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x429abd
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.0040a780
test eax, eax
jne 0x42ae89
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 0x429c93
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x409aa2
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 0x429ce2
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x429ce2
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 0x409a8f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x4098f0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x42ae79
cmp eax, dword [esp + 0x5c]
jg 0x42ae79
cmp edx, dword [esp + 0x14]
jne 0x42ae79
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 0x429cf4
cmp byte [0x4a7f3d], al
jne 0x429cfd
push 0xc
call fcn.004115d7
add esp, 4
cmp eax, esi
je 0x429da0
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x429d1e
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x429d26
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 0x429da7
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x409fd9
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], 0x485a84
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 0x429dfa
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x429e61
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x429e31
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 0x429f2b
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x429f3e
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x409cfc
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x429f4c
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 0x429f71
test edx, edx
je 0x429f79
cmp eax, edx
jb 0x429f99
test eax, eax
je 0x429f8a
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x409c9a
add eax, 2
add ecx, 2
dec edx
jne 0x409c84
jmp 0x429f86
mov ebx, dword [esp + 0x14]
jb 0x429f91
mov eax, 1
test eax, eax
js 0x429fa7
jle 0x42a042
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x429ff9
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 0x42a04c
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a06f
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.004115d7
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a068
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x409d9e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x42a076
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x42a095
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.00410e60
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004115d7
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x409e0b
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.0x409dd0
jmp dword [eax*4 + 0x40a744]
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a0da
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 0x40a739
test byte [0x4a95e4], 1
je 0x42a249
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 0x42a26c
cmp edx, edi
je 0x42a274
cmp eax, edx
jb 0x42a294
cmp eax, edi
jbe 0x42a283
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x409e96
add eax, 2
add ecx, 2
dec edx
jne 0x409e80
jmp 0x42a281
jb 0x42a28a
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a2a2
jle 0x409ebe
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x42a301
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 0x42a34f
cmp edx, edi
je 0x42a357
cmp eax, edx
jb 0x42a377
cmp eax, edi
jbe 0x42a366
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x409f26
add eax, 2
add ecx, 2
dec edx
jne 0x409f10
jmp 0x42a364
jb 0x42a36d
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a385
jle 0x42a396
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 0x42a39d
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x42a3d1
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x485a84
ja 0x42a3f5
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.004111dc
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x409b60
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 0x42a41e
push 0x40
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a470
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.004091e0
cmp ebx, dword [edi]
jb 0x42a477
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 0x42a485
cmp byte [eax + 0x10], 0
je 0x42a6aa
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 0x42a48d
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je case.default.0x42a529
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a498
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a4aa
cmp eax, 0xa
je 0x42a4cb
cmp eax, 5
je 0x42a4e0
cmp eax, 0xb
je 0x42a4ec
cmp eax, 0xc
je 0x42a50a
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x42a51f
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a69b
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 0x42a6a2
cmp byte [eax + 0x18], 0
jne 0x42a6ca
cmp byte [esi + 9], 0
jne 0x42a6e0
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x42a6eb
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 0x42a707
cmp byte [edi + 8], 0
jne 0x42a727
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x40a2b1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x42a730
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x42a742
cmp eax, 0xa
je 0x42a765
cmp eax, 5
je 0x42a77b
cmp eax, 0xb
je 0x42a788
cmp eax, 0xc
je 0x42a7a8
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x40a268
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x42a7be
push ebx
call fcn.004111dc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42a7da
cmp eax, 0xa
je 0x42a7fb
cmp eax, 5
je 0x42a810
cmp eax, 0xb
je 0x42a81c
cmp eax, 0xc
je 0x42a83a
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004111dc
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 0x42a84f
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x42a857
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 0x42a85f
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je case.default.0x42a8fb
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a86a
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a87c
cmp eax, 0xa
je 0x42a89d
cmp eax, 5
je 0x42a8b2
cmp eax, 0xb
je 0x42a8be
cmp eax, 0xc
je 0x42a8dc
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x42a8f1
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 0x42aad4
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x42aadf
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x42ab01
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x40a485
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x40a3ce
push eax
call fcn.0040b400
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x42ab11
cmp byte [esi + 0x10], 0
jne 0x40a454
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x40a454
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x40a40e
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x42ab1e
push edi
call fcn.004111dc
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42ab3a
cmp eax, 0xa
je 0x42ab5b
cmp eax, 5
je 0x42ab70
cmp eax, 0xb
je 0x42ab7c
cmp eax, 0xc
je 0x42ab9a
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.004111dc
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x40a478
mov edx, dword [esi]
push edx
call fcn.004111dc
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
push esi
call fcn.004111dc
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.004111dc
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 0x42abaf
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x42abc5
cmp eax, 0xa
je 0x42abe9
cmp eax, 5
je 0x42ac03
cmp eax, 0xb
je 0x42ac14
cmp eax, 0xc
je 0x42ac35
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 0x42ac4f
cmp esi, 8
je 0x42ac6c
cmp esi, 0xa
je 0x42ac9c
cmp esi, 5
je 0x42acc2
cmp esi, 0xb
je 0x42acda
cmp esi, 0xc
je 0x42ad02
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x42ad28
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x42ad42
cmp eax, 0xa
je 0x42ad6e
cmp eax, 5
je 0x42ad8c
cmp eax, 0xb
je 0x42ada1
cmp eax, 0xc
je 0x42adca
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x40a5b4
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.004111dc
inc esi
add esp, 4
cmp esi, edi
jb 0x40a5a3
mov edx, dword [esp + 0x64]
push edx
call fcn.004111dc
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x40a650
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x40a649
mov edi, dword [esi + 0xc]
test edi, edi
je 0x40a603
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x42ade8
push edi
call fcn.004111dc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42ae04
cmp eax, 0xa
je 0x42ae25
cmp eax, 5
je 0x42ae3a
cmp eax, 0xb
je 0x42ae46
cmp eax, 0xc
je 0x42ae64
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004111dc
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x40a5d0
mov edx, dword [esp + 0x34]
push edx
call fcn.004111dc
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.0x409dd0
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x409780
jmp 0x42986a
add eax, eax
cmp eax, 4
jae 0x40a695
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.004115d7
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.00410e60
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.004111dc
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x40993e
add eax, eax
cmp eax, 4
jae 0x40a6f2
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.004115d7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00410e60
add esp, 0xc
push ebx
call fcn.004111dc
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4099c3
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x409f54
mov eax, 8
jmp 0x4096e0
xor eax, eax
jmp 0x40972c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.004013a0
mov edx, dword [esp + 0x34]
inc edx
push edx
call fcn.00446618
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.004115d7
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.00410e60
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x409749
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x42ae84
mov eax, dword [eax + 0x140]
dec eax
js 0x42986a
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.0040bcc0
test eax, eax
jns 0x429851
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x429860
jle 0x429887
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x42981b
lea ecx, [esp + 0x30]
call fcn.00402250
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call fcn.0047dcbb
jmp 0x40a65f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x42986a
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00402250
jmp 0x4097db
sub ecx, 0x37
jne 0x409889
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 0x42ae84
dec esi
inc eax
jmp 0x409878
inc esi
jmp 0x409889
mov dword [esp + 0x50], ecx
jmp 0x4098d3
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x4298f2
mov bl, 1
jmp 0x429900
cmp ecx, 0x1e
jne 0x429c9d
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x4298de
jmp 0x40991c
xor eax, eax
jmp 0x409952
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 0x429ca9
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.0040c2c0
test al, al
je 0x429cc5
test dword [esp + 0x18], 0x100
je 0x42998a
test edi, 0x100
jne 0x42998a
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 0x42ae84
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x4299fb
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 0x4299fb
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.0040c4e0
test eax, eax
je 0x4299fb
lea esi, [esp + 0x20]
call fcn.00408f40
lea ecx, [esp + 0x60]
call fcn.00430e4d
lea ecx, [esp + 0x30]
call fcn.00410c60
mov eax, edi
jmp 0x40a65f
lea esi, [esp + 0x20]
call fcn.00408f40
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.0040ba10
mov ebx, dword [esp + 0x14]
jmp 0x409a44
push eax
call fcn.004431ad
mov dword [esp + 0x2c], 0
jmp 0x409972
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4099a3
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esp + 0x20]
push edx
call fcn.004111dc
add esp, 4
jmp 0x4099a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4099a3
push eax
call fcn.0044318e
jmp 0x4099a3
lea eax, [esp + 0x20]
call fcn.0040e270
jmp 0x4099a3
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.004111dc
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.004111dc
add esp, 4
jmp 0x4099a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4099a3
push eax
call fcn.0044b3d9
jmp 0x4099a3
dec eax
cmp eax, 0xb
ja case.default.0x429ac7
jmp dword [eax*4 + 0x42aeae]
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429b04
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 0x4099f8
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x4099f8
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], ecx
jmp 0x4099f8
fld qword [esp + 0x20]
fstp qword [ebx]
jmp 0x4099f8
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
jmp 0x4099f8
push 0x214
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429b5d
mov esi, dword [esp + 0x20]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x429b5f
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je case.default.0x429ac7
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x4099f8
cmp dword [esp + 0x20], 0
je case.default.0x429ac7
push 0x10
call fcn.004115d7
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 0x4099f8
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004111dc
add esp, 4
mov dword [ebx], 0
jmp 0x4099f8
mov dl, byte [esp + 0x20]
mov byte [ebx], dl
jmp 0x4099f8
push 0x18
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429bfb
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0044b8a3
mov dword [ebx], eax
jmp 0x4099f8
xor eax, eax
mov dword [ebx], eax
jmp 0x4099f8
push 8
call fcn.004115d7
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 0x429c50
push eax
call fcn.004115d7
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.00410e60
add esp, 0xc
jmp 0x4099f8
push 1
call fcn.004115d7
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 0x4099f8
push 0x14
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429bfb
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.00470870
mov dword [ebx], eax
jmp 0x4099f8
xor eax, eax
jmp 0x4099fa
add dword [esp + 0x10], 2
jmp 0x409a44
push 0xffffffffffffffff
push 0x91
jmp 0x42ae80
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 0x42ae84
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 0x42ae84
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x42ae80
mov dword [esp + 0x4c], esi
jmp 0x409aeb
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 0x409b3b
mov dword [edi + 4], esi
jmp 0x409b1e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004115d7
add esp, 4
cmp eax, esi
je 0x429d47
push eax
call fcn.0044a801
jmp 0x429d49
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.0040e0a0
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.00453443
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call fcn.00453443
xor esi, esi
jmp 0x409b2c
xor edi, edi
jmp 0x409b2c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x429dbe
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b400
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x429dd3
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b400
cmp byte [edi + 0x10], 0
jne 0x429def
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x429def
push 1
call fcn.0040e1c0
push edi
call fcn.004431ad
jmp 0x409b4d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x429e1c
cmp edi, 0x1e
jne 0x429e20
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 0x429dfa
mov dword [esp + 0x10], esi
jmp 0x409bba
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.00432508
push eax
mov eax, dword [ecx]
push eax
call fcn.0045f508
test al, al
je 0x42a438
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x409f75
lea ebx, [esp + 0xbc]
call fcn.0040d530
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 0x429e98
cmp cx, 0x49
jne 0x429eb3
lea edi, [esp + 0xbc]
call fcn.00402780
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.00402780
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.00402710
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.00402780
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.0040a780
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.00401980
jmp 0x409f56
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.00403e10
jmp 0x409f56
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x409c20
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044a801
push 0x425c12
call fcn.0041130a
add esp, 4
xor eax, eax
jmp 0x409c3f
test edx, edx
jne 0x429fa7
test eax, eax
jne 0x409cb7
jmp 0x409c6e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x409ca9
or eax, 0xffffffff
jmp 0x409ca9
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.0040d260
jmp 0x409ca9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x409cc4
push eax
push edi
call fcn.004431cb
add esp, 8
test al, al
je 0x429fe4
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 0x409cc4
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 0x409c52
push edi
push eax
call fcn.004431cb
add esp, 8
test al, al
je 0x42a029
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 0x409cc4
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 0x409c56
mov byte [esp + 0x43], 1
jmp 0x409cc4
mov ebx, dword [ebx]
test ebx, ebx
je 0x409cfc
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.00408e80
jmp 0x409f56
xor eax, eax
jmp 0x409d61
xor ebx, ebx
jmp 0x409d66
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 0x409d9e
push eax
call fcn.00446618
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x42a0b1
push eax
call fcn.004111dc
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.004115d7
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x409d88
xor eax, eax
jmp 0x409e04
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp case.default.0x409dd0
fld qword [edi]
fstp qword [esi]
jmp case.default.0x409dd0
mov edx, dword [edi]
mov dword [esi], edx
jmp case.default.0x409dd0
push 0x214
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a12b
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a12d
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp dword [eax + 4], 0
je case.default.0x409dd0
mov eax, dword [eax + 4]
inc dword [eax]
jmp case.default.0x409dd0
cmp dword [edi], ecx
je case.default.0x409dd0
push 0x10
call fcn.004115d7
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.0x409dd0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esi]
push edx
call fcn.004111dc
add esp, 4
mov dword [esi], 0
jmp case.default.0x409dd0
mov al, byte [edi]
mov byte [esi], al
jmp case.default.0x409dd0
push 0x18
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a242
mov ecx, dword [edi]
push ecx
push eax
call fcn.0044b8a3
jmp 0x40a66a
push 8
call fcn.004115d7
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 0x42a206
push eax
call fcn.004115d7
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.00410e60
add esp, 0xc
jmp case.default.0x409dd0
push 1
call fcn.004115d7
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.0x409dd0
push 0x14
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a242
mov ecx, dword [edi]
push ecx
push eax
call fcn.00470870
jmp 0x40a66a
xor eax, eax
jmp 0x40a66a
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044a801
push 0x425c12
call fcn.0041130a
add esp, 4
jmp 0x409e31
cmp edx, edi
jne 0x42a2a2
cmp eax, edi
jne 0x409ead
jmp 0x409e66
xor edi, edi
xor eax, eax
jmp 0x409ea3
or eax, 0xffffffff
xor edi, edi
jmp 0x409ea3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d260
jmp 0x409ea3
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x409ebe
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.004431cb
add esp, 8
test al, al
je 0x42a2eb
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 0x409ebe
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 0x409e50
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.004431cb
add esp, 8
test al, al
je 0x42a339
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 0x409ebe
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 0x409e50
cmp edx, edi
jne 0x42a385
cmp eax, edi
jne 0x409f41
jmp 0x409ef9
xor edi, edi
xor eax, eax
jmp 0x409f33
or eax, 0xffffffff
xor edi, edi
jmp 0x409f33
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d260
jmp 0x409f33
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x409f50
mov ebx, esi
jmp 0x409f50
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x42a3c7
cmp ax, 0x49
je 0x42a3c7
add dword [esp + 0x10], 4
jmp 0x409f75
add dword [esp + 0x10], 5
jmp 0x409f75
cmp ax, 0x3f
jg 0x409f8b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x409f8b
push eax
call fcn.004431ad
jmp 0x409f8b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42a40f
push eax
call fcn.0044c7c0
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x42a3f7
jmp 0x409fa4
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call fcn.0047390f
mov byte [edi + 9], 0
jmp 0x40a084
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.0045e737
lea ecx, [esp + 0xd0]
push ecx
call fcn.0044b469
lea ecx, [esp + 0xbc]
call fcn.0040edc0
jmp 0x42ae89
xor eax, eax
jmp 0x40a07b
call fcn.0040c790
cmp ebx, dword [edi]
jb 0x42a477
jmp 0x40a0af
mov eax, dword [eax + 0x38]
jmp 0x40a0d2
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x40a0f9
push eax
call fcn.004431ad
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 edx, dword [ebx]
push edx
call fcn.004111dc
add esp, 4
jmp 0x40a13f
mov eax, dword [ebx]
test eax, eax
je 0x40a13f
push eax
call fcn.0044318e
jmp 0x40a13f
mov eax, ebx
call fcn.0040e270
jmp 0x40a13f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.004111dc
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.004111dc
add esp, 4
jmp 0x40a13f
mov eax, dword [ebx]
test eax, eax
je 0x40a13f
push eax
call fcn.0044b3d9
jmp 0x40a13f
dec eax
cmp eax, 0xb
ja case.default.0x42a529
jmp dword [eax*4 + 0x42aede]
mov ecx, dword [esi]
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
jmp case.default.0x42a529
mov eax, dword [esi]
mov dword [ebx], eax
jmp case.default.0x42a529
fld qword [esi]
fstp qword [ebx]
jmp case.default.0x42a529
mov ecx, dword [esi]
mov dword [ebx], ecx
jmp case.default.0x42a529
push 0x214
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a57f
mov esi, dword [esi]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a581
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x42a592
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [ebp + 8]
jmp case.default.0x42a529
cmp dword [esi], 0
je 0x42a592
push 0x10
call fcn.004115d7
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.0x42a529
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.004111dc
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a529
mov al, byte [esi]
mov byte [ebx], al
jmp case.default.0x42a529
push 0x18
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a610
mov ecx, dword [esi]
push ecx
push eax
call fcn.0044b8a3
mov dword [ebx], eax
jmp case.default.0x42a529
xor eax, eax
mov dword [ebx], eax
jmp case.default.0x42a529
push 8
call fcn.004115d7
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 0x42a661
push eax
call fcn.004115d7
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.00410e60
add esp, 0xc
jmp case.default.0x42a529
push 1
call fcn.004115d7
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.0x42a529
push 0x14
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a610
mov ecx, dword [esi]
push ecx
push eax
call fcn.00470870
mov dword [ebx], eax
jmp case.default.0x42a529
xor eax, eax
jmp 0x40a188
mov eax, dword [eax + 0x38]
jmp 0x40a1a3
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.00408f40
mov dword [esi + 8], 1
mov dword [esi], 0
jmp case.default.0x42a529
mov eax, esi
call fcn.00403cc0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x40a1ad
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x40a1ba
mov eax, esi
call fcn.00403cc0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.00408e80
jmp 0x40a1c4
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x42a71b
push eax
call fcn.0044ccf1
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x40a1db
mov byte [edi + 9], 1
jmp 0x40a2bc
push eax
call fcn.004431ad
mov dword [esi + 0x2c], 0
jmp 0x40a202
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x40a20e
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esi + 0x20]
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a232
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a232
push eax
call fcn.0044318e
jmp 0x40a232
lea eax, [esi + 0x20]
call fcn.0040e270
jmp 0x40a232
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004111dc
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a232
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a232
push eax
call fcn.0044b3d9
jmp 0x40a232
mov edx, dword [ebx]
push edx
call fcn.004111dc
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a258
mov ecx, dword [esi]
test ecx, ecx
je 0x40a274
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a298
mov eax, dword [esi]
test eax, eax
je 0x40a298
push eax
call fcn.0044318e
jmp 0x40a298
mov eax, esi
call fcn.0040e270
jmp 0x40a298
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004111dc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a298
mov eax, dword [esi]
test eax, eax
je 0x40a298
push eax
call fcn.0044b3d9
jmp 0x40a298
mov ecx, dword [ecx + 0x38]
jmp 0x40a2d3
mov eax, dword [eax + 0x38]
jmp 0x40a2ea
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x40a306
push eax
call fcn.004431ad
mov dword [ebx + 0xc], 0
jmp 0x40a31f
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a32b
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a34f
mov eax, dword [ebx]
test eax, eax
je 0x40a34f
push eax
call fcn.0044318e
jmp 0x40a34f
mov eax, ebx
call fcn.0040e270
jmp 0x40a34f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.004111dc
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a34f
mov eax, dword [ebx]
test eax, eax
je 0x40a34f
push eax
call fcn.0044b3d9
jmp 0x40a34f
dec eax
cmp eax, 0xb
ja case.default.0x42a8fb
jmp dword [eax*4 + 0x42af0e]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.default.0x42a8fb
fld qword [esp + 0xa0]
fstp qword [ebx]
jmp case.default.0x42a8fb
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a961
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.0x42a8fb
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.default.0x42a8fb
mov ecx, dword [esp + 0xa0]
mov dword [ebx], ecx
jmp case.default.0x42a8fb
push 0x214
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42a9a3
mov esi, dword [esp + 0xa0]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a9a5
xor eax, eax
mov edi, dword [esp + 0x68]
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x40a375
mov eax, dword [eax + 4]
inc dword [eax]
jmp 0x40a375
mov esi, dword [esp + 0xa0]
test esi, esi
je case.default.0x42a8fb
push 0x10
call fcn.004115d7
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.0x42a8fb
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004111dc
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a8fb
mov dl, byte [esp + 0xa0]
mov byte [ebx], dl
jmp case.default.0x42a8fb
push 0x18
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42aa45
mov ecx, dword [esp + 0xa0]
push ecx
push eax
call fcn.0044b8a3
jmp 0x40a36f
xor eax, eax
jmp 0x40a36f
push 8
call fcn.004115d7
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 0x42aa97
push eax
call fcn.004115d7
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.00410e60
add esp, 0xc
jmp case.default.0x42a8fb
push 1
call fcn.004115d7
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.0x42a8fb
push 0x14
call fcn.004115d7
add esp, 4
test eax, eax
je 0x42aa45
mov edx, dword [esp + 0xa0]
push edx
push eax
call fcn.00470870
jmp 0x40a36f
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x40a386
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call fcn.0046fe90
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x40a39d
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x40a4a7
push eax
mov ecx, ebx
call fcn.0040b400
jmp 0x40a3d9
mov ecx, dword [edi]
push ecx
call fcn.004111dc
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.004111dc
add esp, 4
jmp 0x40a3fe
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a41a
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebx]
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a43e
mov eax, dword [ebx]
test eax, eax
je 0x40a43e
push eax
call fcn.0044318e
jmp 0x40a43e
mov eax, ebx
call fcn.0040e270
jmp 0x40a43e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004111dc
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a43e
mov eax, dword [ebx]
test eax, eax
je 0x40a43e
push eax
call fcn.0044b3d9
jmp 0x40a43e
push eax
call fcn.004431ad
mov dword [esp + 0xac], 0
jmp 0x40a4cc
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x40a500
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004111dc
add esp, 4
jmp 0x40a500
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a500
push eax
call fcn.0044318e
jmp 0x40a500
lea eax, [esp + 0xa0]
call fcn.0040e270
jmp 0x40a500
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.004111dc
add esp, 4
push esi
call fcn.004111dc
add esp, 4
jmp 0x40a500
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a500
push eax
call fcn.0044b3d9
jmp 0x40a500
push eax
call fcn.004431ad
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a52b
cmp dword [esp + 0x80], ecx
je 0x40a558
mov esi, dword [esp + 0x80]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004111dc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a558
cmp dword [esp + 0x80], ecx
je 0x40a558
mov eax, dword [esp + 0x80]
push eax
call fcn.0044318e
mov edx, 1
xor ecx, ecx
jmp 0x40a558
lea eax, [esp + 0x80]
call fcn.0040e270
mov edx, 1
xor ecx, ecx
jmp 0x40a558
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.004111dc
add esp, 4
push esi
call fcn.004111dc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a558
cmp dword [esp + 0x80], ecx
je 0x40a558
mov edx, dword [esp + 0x80]
push edx
call fcn.0044b3d9
mov edx, 1
xor ecx, ecx
jmp 0x40a558
push eax
call fcn.004431ad
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a564
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a595
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x20]
push eax
call fcn.004111dc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a595
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a595
push eax
call fcn.0044318e
mov edx, 1
xor ecx, ecx
jmp 0x40a595
lea eax, [esp + 0x20]
call fcn.0040e270
mov edx, 1
xor ecx, ecx
jmp 0x40a595
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004111dc
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a595
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a595
push eax
call fcn.0044b3d9
mov edx, 1
xor ecx, ecx
jmp 0x40a595
mov edx, dword [edi]
push edx
call fcn.004111dc
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.004111dc
add esp, 4
jmp 0x40a5f3
mov ecx, dword [esi]
test ecx, ecx
je 0x40a60f
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a633
mov eax, dword [esi]
test eax, eax
je 0x40a633
push eax
call fcn.0044318e
jmp 0x40a633
mov eax, esi
call fcn.0040e270
jmp 0x40a633
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004111dc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004111dc
add esp, 4
jmp 0x40a633
mov eax, dword [esi]
test eax, eax
je 0x40a633
push eax
call fcn.0044b3d9
jmp 0x40a633
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045e737
lea esi, [esp + 0x20]
call fcn.00408f40
lea ecx, [esp + 0x60]
call fcn.00430e4d
lea ecx, [esp + 0x30]
call fcn.00410c60
mov eax, 1
jmp 0x40a65f