Function at 0x409940
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.00411391
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x4297f4
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.004117a7
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.00411030
add esp, 0xc
push 4
call fcn.004117a7
add esp, 4
test eax, eax
je 0x4297fe
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x4298d4
cmp dword [eax], 1
jg 0x429805
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 0x42986c
mov esi, dword [eax + 0x134]
test esi, esi
je 0x4298d4
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x40a915
test edx, edx
je 0x409a59
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x409a40
mov si, word [eax]
cmp si, word [ecx]
jne 0x40a911
add eax, 2
add ecx, 2
dec edx
jne 0x409a40
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x409a7b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004113ac
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.004113ac
add esp, 4
mov eax, esi
test eax, eax
je 0x4298dd
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 0x429860
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 0x409b2c
inc eax
jmp 0x409b18
sub ecx, 0x47
je 0x429939
dec ecx
jne 0x429910
test esi, esi
jne 0x429932
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x42993f
cmp eax, ecx
jle 0x42993f
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x409d42
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x409d42
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 0x429948
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x409bce
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x40a929
push 1
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429980
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 0x429987
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x429a91
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x429aa4
cmp eax, 0xa
je 0x429ac9
cmp eax, 5
je 0x429ae0
cmp eax, 0xb
je 0x429aee
cmp eax, 0xc
je 0x429b10
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x40a986
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429cf6
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x429b27
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.0040aa20
test eax, eax
jne 0x42aef3
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 0x429cfd
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x409d42
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 0x429d4c
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x429d4c
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 0x409d2f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x409b90
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x42aee3
cmp eax, dword [esp + 0x5c]
jg 0x42aee3
cmp edx, dword [esp + 0x14]
jne 0x42aee3
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 0x429d5e
cmp byte [0x4a7f3d], al
jne 0x429d67
push 0xc
call fcn.004117a7
add esp, 4
cmp eax, esi
je 0x429e0a
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x429d88
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x429d90
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 0x429e11
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x40a279
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 0x429e64
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x429ecb
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x429e9b
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 0x429f95
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x429fa8
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x409f9c
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x429fb6
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 0x429fdb
test edx, edx
je 0x429fe3
cmp eax, edx
jb 0x42a003
test eax, eax
je 0x429ff4
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x409f3a
add eax, 2
add ecx, 2
dec edx
jne 0x409f24
jmp 0x429ff0
mov ebx, dword [esp + 0x14]
jb 0x429ffb
mov eax, 1
test eax, eax
js 0x42a011
jle 0x42a0ac
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x42a063
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 0x42a0b6
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a0d9
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.004117a7
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a0d2
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x40a03e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x42a0e0
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x42a0ff
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.00411030
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004117a7
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x40a0ab
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.0x40a070
jmp dword [eax*4 + 0x40a9e4]
push 0x10
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a144
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 0x40a9d9
test byte [0x4a95e4], 1
je 0x42a2b3
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 0x42a2d6
cmp edx, edi
je 0x42a2de
cmp eax, edx
jb 0x42a2fe
cmp eax, edi
jbe 0x42a2ed
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x40a136
add eax, 2
add ecx, 2
dec edx
jne 0x40a120
jmp 0x42a2eb
jb 0x42a2f4
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a30c
jle 0x40a15e
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x42a36b
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 0x42a3b9
cmp edx, edi
je 0x42a3c1
cmp eax, edx
jb 0x42a3e1
cmp eax, edi
jbe 0x42a3d0
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x40a1c6
add eax, 2
add ecx, 2
dec edx
jne 0x40a1b0
jmp 0x42a3ce
jb 0x42a3d7
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x42a3ef
jle 0x42a400
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 0x42a407
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x42a43b
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x485a84
ja 0x42a45f
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.004113ac
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x409e00
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 0x42a488
push 0x40
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a4da
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.00409480
cmp ebx, dword [edi]
jb 0x42a4e1
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 0x42a4ef
cmp byte [eax + 0x10], 0
je 0x42a714
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 0x42a4f7
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je case.default.0x42a593
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a502
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a514
cmp eax, 0xa
je 0x42a535
cmp eax, 5
je 0x42a54a
cmp eax, 0xb
je 0x42a556
cmp eax, 0xc
je 0x42a574
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x42a589
push 0x10
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a705
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 0x42a70c
cmp byte [eax + 0x18], 0
jne 0x42a734
cmp byte [esi + 9], 0
jne 0x42a74a
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x42a755
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 0x42a771
cmp byte [edi + 8], 0
jne 0x42a791
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x40a551
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x42a79a
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x42a7ac
cmp eax, 0xa
je 0x42a7cf
cmp eax, 5
je 0x42a7e5
cmp eax, 0xb
je 0x42a7f2
cmp eax, 0xc
je 0x42a812
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x40a508
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x42a828
push ebx
call fcn.004113ac
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42a844
cmp eax, 0xa
je 0x42a865
cmp eax, 5
je 0x42a87a
cmp eax, 0xb
je 0x42a886
cmp eax, 0xc
je 0x42a8a4
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004113ac
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 0x42a8b9
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x42a8c1
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 0x42a8c9
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je case.default.0x42a965
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x42a8d4
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42a8e6
cmp eax, 0xa
je 0x42a907
cmp eax, 5
je 0x42a91c
cmp eax, 0xb
je 0x42a928
cmp eax, 0xc
je 0x42a946
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x42a95b
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 0x42ab3e
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x42ab49
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x42ab6b
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x40a725
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x40a66e
push eax
call fcn.0040b6a0
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x42ab7b
cmp byte [esi + 0x10], 0
jne 0x40a6f4
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x40a6f4
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x40a6ae
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x42ab88
push edi
call fcn.004113ac
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x42aba4
cmp eax, 0xa
je 0x42abc5
cmp eax, 5
je 0x42abda
cmp eax, 0xb
je 0x42abe6
cmp eax, 0xc
je 0x42ac04
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.004113ac
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x40a718
mov edx, dword [esi]
push edx
call fcn.004113ac
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
push esi
call fcn.004113ac
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.004113ac
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 0x42ac19
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x42ac2f
cmp eax, 0xa
je 0x42ac53
cmp eax, 5
je 0x42ac6d
cmp eax, 0xb
je 0x42ac7e
cmp eax, 0xc
je 0x42ac9f
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 0x42acb9
cmp esi, 8
je 0x42acd6
cmp esi, 0xa
je 0x42ad06
cmp esi, 5
je 0x42ad2c
cmp esi, 0xb
je 0x42ad44
cmp esi, 0xc
je 0x42ad6c
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x42ad92
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x42adac
cmp eax, 0xa
je 0x42add8
cmp eax, 5
je 0x42adf6
cmp eax, 0xb
je 0x42ae0b
cmp eax, 0xc
je 0x42ae34
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x40a854
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.004113ac
inc esi
add esp, 4
cmp esi, edi
jb 0x40a843
mov edx, dword [esp + 0x64]
push edx
call fcn.004113ac
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x40a8f0
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x40a8e9
mov edi, dword [esi + 0xc]
test edi, edi
je 0x40a8a3
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x42ae52
push edi
call fcn.004113ac
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x42ae6e
cmp eax, 0xa
je 0x42ae8f
cmp eax, 5
je 0x42aea4
cmp eax, 0xb
je 0x42aeb0
cmp eax, 0xc
je 0x42aece
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004113ac
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x40a870
mov edx, dword [esp + 0x34]
push edx
call fcn.004113ac
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.0x40a070
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x409a20
jmp 0x4298d4
add eax, eax
cmp eax, 4
jae 0x40a935
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.004117a7
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.00411030
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.004113ac
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x409bde
add eax, eax
cmp eax, 4
jae 0x40a992
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.004117a7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00411030
add esp, 0xc
push ebx
call fcn.004113ac
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x409c63
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x40a1f4
mov eax, 8
jmp 0x409980
xor eax, eax
jmp 0x4099cc
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.00446632
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.004117a7
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.00411030
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x4099e9
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x42aeee
mov eax, dword [eax + 0x140]
dec eax
js 0x4298d4
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.0040bf60
test eax, eax
jns 0x4298bb
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x4298ca
jle 0x4298f1
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x429885
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.0047dbd7
jmp 0x40a8ff
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x4298d4
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00402250
jmp 0x409a7b
sub ecx, 0x37
jne 0x409b29
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 0x42aeee
dec esi
inc eax
jmp 0x409b18
inc esi
jmp 0x409b29
mov dword [esp + 0x50], ecx
jmp 0x409b73
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x42995c
mov bl, 1
jmp 0x42996a
cmp ecx, 0x1e
jne 0x429d07
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x429948
jmp 0x409bbc
xor eax, eax
jmp 0x409bf2
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 0x429d13
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.0040c560
test al, al
je 0x429d2f
test dword [esp + 0x18], 0x100
je 0x4299f4
test edi, 0x100
jne 0x4299f4
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 0x42aeee
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x429a65
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 0x429a65
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.0040c780
test eax, eax
je 0x429a65
lea esi, [esp + 0x20]
call fcn.004091e0
lea ecx, [esp + 0x60]
call fcn.00430f27
lea ecx, [esp + 0x30]
call fcn.00410e30
mov eax, edi
jmp 0x40a8ff
lea esi, [esp + 0x20]
call fcn.004091e0
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.0040bcb0
mov ebx, dword [esp + 0x14]
jmp 0x409ce4
push eax
call fcn.004431be
mov dword [esp + 0x2c], 0
jmp 0x409c12
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409c43
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esp + 0x20]
push edx
call fcn.004113ac
add esp, 4
jmp 0x409c43
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409c43
push eax
call fcn.0044421b
jmp 0x409c43
lea eax, [esp + 0x20]
call fcn.0040e5e0
jmp 0x409c43
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.004113ac
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.004113ac
add esp, 4
jmp 0x409c43
mov eax, dword [esp + 0x20]
test eax, eax
je 0x409c43
push eax
call fcn.0044b413
jmp 0x409c43
dec eax
cmp eax, 0xb
ja case.default.0x429b31
jmp dword [eax*4 + 0x42af18]
push 0x10
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429b6e
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 0x409c98
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x409c98
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], ecx
jmp 0x409c98
fld qword [esp + 0x20]
fstp qword [ebx]
jmp 0x409c98
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
jmp 0x409c98
push 0x214
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429bc7
mov esi, dword [esp + 0x20]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x429bc9
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je case.default.0x429b31
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x409c98
cmp dword [esp + 0x20], 0
je case.default.0x429b31
push 0x10
call fcn.004117a7
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 0x409c98
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004113ac
add esp, 4
mov dword [ebx], 0
jmp 0x409c98
mov dl, byte [esp + 0x20]
mov byte [ebx], dl
jmp 0x409c98
push 0x18
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429c65
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0044b8f2
mov dword [ebx], eax
jmp 0x409c98
xor eax, eax
mov dword [ebx], eax
jmp 0x409c98
push 8
call fcn.004117a7
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 0x429cba
push eax
call fcn.004117a7
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.00411030
add esp, 0xc
jmp 0x409c98
push 1
call fcn.004117a7
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 0x409c98
push 0x14
call fcn.004117a7
add esp, 4
test eax, eax
je 0x429c65
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.00470802
mov dword [ebx], eax
jmp 0x409c98
xor eax, eax
jmp 0x409c9a
add dword [esp + 0x10], 2
jmp 0x409ce4
push 0xffffffffffffffff
push 0x91
jmp 0x42aeea
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 0x42aeee
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 0x42aeee
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x42aeea
mov dword [esp + 0x4c], esi
jmp 0x409d8b
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 0x409ddb
mov dword [edi + 4], esi
jmp 0x409dbe
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004117a7
add esp, 4
cmp eax, esi
je 0x429db1
push eax
call fcn.0044b456
jmp 0x429db3
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.0040e410
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.00453438
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call fcn.00453438
xor esi, esi
jmp 0x409dcc
xor edi, edi
jmp 0x409dcc
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x429e28
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b6a0
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x429e3d
push eax
lea ecx, [esp + 0x4c]
call fcn.0040b6a0
cmp byte [edi + 0x10], 0
jne 0x429e59
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x429e59
push 1
call fcn.0040e530
push edi
call fcn.004431be
jmp 0x409ded
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x429e86
cmp edi, 0x1e
jne 0x429e8a
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 0x429e64
mov dword [esp + 0x10], esi
jmp 0x409e5a
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.004325b8
push eax
mov eax, dword [ecx]
push eax
call fcn.0045f4ef
test al, al
je 0x42a4a2
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x40a215
lea ebx, [esp + 0xbc]
call fcn.0040d7d0
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 0x429f02
cmp cx, 0x49
jne 0x429f1d
lea edi, [esp + 0xbc]
call fcn.00402a20
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.00402a20
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.004029b0
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.00402a20
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.0040aa20
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 0x40a1f6
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.004040b0
jmp 0x40a1f6
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x409ec0
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044b456
push 0x425de2
call fcn.004114da
add esp, 4
xor eax, eax
jmp 0x409edf
test edx, edx
jne 0x42a011
test eax, eax
jne 0x409f57
jmp 0x409f0e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x409f49
or eax, 0xffffffff
jmp 0x409f49
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.0040d430
jmp 0x409f49
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x409f64
push eax
push edi
call fcn.004431dc
add esp, 8
test al, al
je 0x42a04e
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 0x409f64
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 0x409ef2
push edi
push eax
call fcn.004431dc
add esp, 8
test al, al
je 0x42a093
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 0x409f64
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 0x409ef6
mov byte [esp + 0x43], 1
jmp 0x409f64
mov ebx, dword [ebx]
test ebx, ebx
je 0x409f9c
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.00409120
jmp 0x40a1f6
xor eax, eax
jmp 0x40a001
xor ebx, ebx
jmp 0x40a006
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 0x40a03e
push eax
call fcn.00446632
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x42a11b
push eax
call fcn.004113ac
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.004117a7
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x40a028
xor eax, eax
jmp 0x40a0a4
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp case.default.0x40a070
fld qword [edi]
fstp qword [esi]
jmp case.default.0x40a070
mov edx, dword [edi]
mov dword [esi], edx
jmp case.default.0x40a070
push 0x214
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a195
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a197
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp dword [eax + 4], 0
je case.default.0x40a070
mov eax, dword [eax + 4]
inc dword [eax]
jmp case.default.0x40a070
cmp dword [edi], ecx
je case.default.0x40a070
push 0x10
call fcn.004117a7
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.0x40a070
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esi]
push edx
call fcn.004113ac
add esp, 4
mov dword [esi], 0
jmp case.default.0x40a070
mov al, byte [edi]
mov byte [esi], al
jmp case.default.0x40a070
push 0x18
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a2ac
mov ecx, dword [edi]
push ecx
push eax
call fcn.0044b8f2
jmp 0x40a90a
push 8
call fcn.004117a7
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 0x42a270
push eax
call fcn.004117a7
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.00411030
add esp, 0xc
jmp case.default.0x40a070
push 1
call fcn.004117a7
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.0x40a070
push 0x14
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a2ac
mov ecx, dword [edi]
push ecx
push eax
call fcn.00470802
jmp 0x40a90a
xor eax, eax
jmp 0x40a90a
or dword [0x4a95e4], 1
push 0x4a95c4
call fcn.0044b456
push 0x425de2
call fcn.004114da
add esp, 4
jmp 0x40a0d1
cmp edx, edi
jne 0x42a30c
cmp eax, edi
jne 0x40a14d
jmp 0x40a106
xor edi, edi
xor eax, eax
jmp 0x40a143
or eax, 0xffffffff
xor edi, edi
jmp 0x40a143
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d430
jmp 0x40a143
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x40a15e
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.004431dc
add esp, 8
test al, al
je 0x42a355
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 0x40a15e
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 0x40a0f0
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.004431dc
add esp, 8
test al, al
je 0x42a3a3
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 0x40a15e
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 0x40a0f0
cmp edx, edi
jne 0x42a3ef
cmp eax, edi
jne 0x40a1e1
jmp 0x40a199
xor edi, edi
xor eax, eax
jmp 0x40a1d3
or eax, 0xffffffff
xor edi, edi
jmp 0x40a1d3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0040d430
jmp 0x40a1d3
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x40a1f0
mov ebx, esi
jmp 0x40a1f0
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x42a431
cmp ax, 0x49
je 0x42a431
add dword [esp + 0x10], 4
jmp 0x40a215
add dword [esp + 0x10], 5
jmp 0x40a215
cmp ax, 0x3f
jg 0x40a22b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x40a22b
push eax
call fcn.004431be
jmp 0x40a22b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42a479
push eax
call fcn.0044c7f9
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x42a461
jmp 0x40a244
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call fcn.004738a1
mov byte [edi + 9], 0
jmp 0x40a324
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.0045e71e
lea ecx, [esp + 0xd0]
push ecx
call fcn.0044b4b8
lea ecx, [esp + 0xbc]
call fcn.0040efb0
jmp 0x42aef3
xor eax, eax
jmp 0x40a31b
call fcn.0040ca30
cmp ebx, dword [edi]
jb 0x42a4e1
jmp 0x40a34f
mov eax, dword [eax + 0x38]
jmp 0x40a372
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x40a399
push eax
call fcn.004431be
mov dword [ebx + 0xc], 0
jmp 0x40a3af
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a3bb
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.004113ac
add esp, 4
jmp 0x40a3df
mov eax, dword [ebx]
test eax, eax
je 0x40a3df
push eax
call fcn.0044421b
jmp 0x40a3df
mov eax, ebx
call fcn.0040e5e0
jmp 0x40a3df
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.004113ac
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.004113ac
add esp, 4
jmp 0x40a3df
mov eax, dword [ebx]
test eax, eax
je 0x40a3df
push eax
call fcn.0044b413
jmp 0x40a3df
dec eax
cmp eax, 0xb
ja case.default.0x42a593
jmp dword [eax*4 + 0x42af48]
mov ecx, dword [esi]
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
jmp case.default.0x42a593
mov eax, dword [esi]
mov dword [ebx], eax
jmp case.default.0x42a593
fld qword [esi]
fstp qword [ebx]
jmp case.default.0x42a593
mov ecx, dword [esi]
mov dword [ebx], ecx
jmp case.default.0x42a593
push 0x214
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a5e9
mov esi, dword [esi]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42a5eb
xor eax, eax
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x42a5fc
mov eax, dword [eax + 4]
inc dword [eax]
mov edi, dword [ebp + 8]
jmp case.default.0x42a593
cmp dword [esi], 0
je 0x42a5fc
push 0x10
call fcn.004117a7
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.0x42a593
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebx]
push edx
call fcn.004113ac
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a593
mov al, byte [esi]
mov byte [ebx], al
jmp case.default.0x42a593
push 0x18
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a67a
mov ecx, dword [esi]
push ecx
push eax
call fcn.0044b8f2
mov dword [ebx], eax
jmp case.default.0x42a593
xor eax, eax
mov dword [ebx], eax
jmp case.default.0x42a593
push 8
call fcn.004117a7
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 0x42a6cb
push eax
call fcn.004117a7
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.00411030
add esp, 0xc
jmp case.default.0x42a593
push 1
call fcn.004117a7
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.0x42a593
push 0x14
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a67a
mov ecx, dword [esi]
push ecx
push eax
call fcn.00470802
mov dword [ebx], eax
jmp case.default.0x42a593
xor eax, eax
jmp 0x40a428
mov eax, dword [eax + 0x38]
jmp 0x40a443
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.004091e0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp case.default.0x42a593
mov eax, esi
call fcn.00403f60
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x40a44d
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x40a45a
mov eax, esi
call fcn.00403f60
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.00409120
jmp 0x40a464
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x42a785
push eax
call fcn.0044cd2a
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x40a47b
mov byte [edi + 9], 1
jmp 0x40a55c
push eax
call fcn.004431be
mov dword [esi + 0x2c], 0
jmp 0x40a4a2
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x40a4ae
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esi + 0x20]
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a4d2
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a4d2
push eax
call fcn.0044421b
jmp 0x40a4d2
lea eax, [esi + 0x20]
call fcn.0040e5e0
jmp 0x40a4d2
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004113ac
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a4d2
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40a4d2
push eax
call fcn.0044b413
jmp 0x40a4d2
mov edx, dword [ebx]
push edx
call fcn.004113ac
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a4f8
mov ecx, dword [esi]
test ecx, ecx
je 0x40a514
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a538
mov eax, dword [esi]
test eax, eax
je 0x40a538
push eax
call fcn.0044421b
jmp 0x40a538
mov eax, esi
call fcn.0040e5e0
jmp 0x40a538
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004113ac
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a538
mov eax, dword [esi]
test eax, eax
je 0x40a538
push eax
call fcn.0044b413
jmp 0x40a538
mov ecx, dword [ecx + 0x38]
jmp 0x40a573
mov eax, dword [eax + 0x38]
jmp 0x40a58a
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x40a5a6
push eax
call fcn.004431be
mov dword [ebx + 0xc], 0
jmp 0x40a5bf
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a5cb
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a5ef
mov eax, dword [ebx]
test eax, eax
je 0x40a5ef
push eax
call fcn.0044421b
jmp 0x40a5ef
mov eax, ebx
call fcn.0040e5e0
jmp 0x40a5ef
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.004113ac
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a5ef
mov eax, dword [ebx]
test eax, eax
je 0x40a5ef
push eax
call fcn.0044b413
jmp 0x40a5ef
dec eax
cmp eax, 0xb
ja case.default.0x42a965
jmp dword [eax*4 + 0x42af78]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.default.0x42a965
fld qword [esp + 0xa0]
fstp qword [ebx]
jmp case.default.0x42a965
push 0x10
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42a9cb
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.0x42a965
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.default.0x42a965
mov ecx, dword [esp + 0xa0]
mov dword [ebx], ecx
jmp case.default.0x42a965
push 0x214
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42aa0d
mov esi, dword [esp + 0xa0]
mov ecx, 0x85
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x42aa0f
xor eax, eax
mov edi, dword [esp + 0x68]
mov dword [ebx], eax
cmp dword [eax + 4], 0
je 0x40a615
mov eax, dword [eax + 4]
inc dword [eax]
jmp 0x40a615
mov esi, dword [esp + 0xa0]
test esi, esi
je case.default.0x42a965
push 0x10
call fcn.004117a7
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.0x42a965
mov eax, dword [ebx]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebx]
push ecx
call fcn.004113ac
add esp, 4
mov dword [ebx], 0
jmp case.default.0x42a965
mov dl, byte [esp + 0xa0]
mov byte [ebx], dl
jmp case.default.0x42a965
push 0x18
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42aaaf
mov ecx, dword [esp + 0xa0]
push ecx
push eax
call fcn.0044b8f2
jmp 0x40a60f
xor eax, eax
jmp 0x40a60f
push 8
call fcn.004117a7
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 0x42ab01
push eax
call fcn.004117a7
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.00411030
add esp, 0xc
jmp case.default.0x42a965
push 1
call fcn.004117a7
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.0x42a965
push 0x14
call fcn.004117a7
add esp, 4
test eax, eax
je 0x42aaaf
mov edx, dword [esp + 0xa0]
push edx
push eax
call fcn.00470802
jmp 0x40a60f
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x40a626
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call fcn.0046fe22
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x40a63d
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x40a747
push eax
mov ecx, ebx
call fcn.0040b6a0
jmp 0x40a679
mov ecx, dword [edi]
push ecx
call fcn.004113ac
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.004113ac
add esp, 4
jmp 0x40a69e
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a6ba
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebx]
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a6de
mov eax, dword [ebx]
test eax, eax
je 0x40a6de
push eax
call fcn.0044421b
jmp 0x40a6de
mov eax, ebx
call fcn.0040e5e0
jmp 0x40a6de
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004113ac
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a6de
mov eax, dword [ebx]
test eax, eax
je 0x40a6de
push eax
call fcn.0044b413
jmp 0x40a6de
push eax
call fcn.004431be
mov dword [esp + 0xac], 0
jmp 0x40a76c
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x40a7a0
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004113ac
add esp, 4
jmp 0x40a7a0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a7a0
push eax
call fcn.0044421b
jmp 0x40a7a0
lea eax, [esp + 0xa0]
call fcn.0040e5e0
jmp 0x40a7a0
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.004113ac
add esp, 4
push esi
call fcn.004113ac
add esp, 4
jmp 0x40a7a0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x40a7a0
push eax
call fcn.0044b413
jmp 0x40a7a0
push eax
call fcn.004431be
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a7cb
cmp dword [esp + 0x80], ecx
je 0x40a7f8
mov esi, dword [esp + 0x80]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
call fcn.004113ac
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7f8
cmp dword [esp + 0x80], ecx
je 0x40a7f8
mov eax, dword [esp + 0x80]
push eax
call fcn.0044421b
mov edx, 1
xor ecx, ecx
jmp 0x40a7f8
lea eax, [esp + 0x80]
call fcn.0040e5e0
mov edx, 1
xor ecx, ecx
jmp 0x40a7f8
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.004113ac
add esp, 4
push esi
call fcn.004113ac
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a7f8
cmp dword [esp + 0x80], ecx
je 0x40a7f8
mov edx, dword [esp + 0x80]
push edx
call fcn.0044b413
mov edx, 1
xor ecx, ecx
jmp 0x40a7f8
push eax
call fcn.004431be
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x40a804
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a835
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x20]
push eax
call fcn.004113ac
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a835
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a835
push eax
call fcn.0044421b
mov edx, 1
xor ecx, ecx
jmp 0x40a835
lea eax, [esp + 0x20]
call fcn.0040e5e0
mov edx, 1
xor ecx, ecx
jmp 0x40a835
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004113ac
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x40a835
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x40a835
push eax
call fcn.0044b413
mov edx, 1
xor ecx, ecx
jmp 0x40a835
mov edx, dword [edi]
push edx
call fcn.004113ac
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.004113ac
add esp, 4
jmp 0x40a893
mov ecx, dword [esi]
test ecx, ecx
je 0x40a8af
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esi]
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a8d3
mov eax, dword [esi]
test eax, eax
je 0x40a8d3
push eax
call fcn.0044421b
jmp 0x40a8d3
mov eax, esi
call fcn.0040e5e0
jmp 0x40a8d3
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004113ac
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004113ac
add esp, 4
jmp 0x40a8d3
mov eax, dword [esi]
test eax, eax
je 0x40a8d3
push eax
call fcn.0044b413
jmp 0x40a8d3
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045e71e
lea esi, [esp + 0x20]
call fcn.004091e0
lea ecx, [esp + 0x60]
call fcn.00430f27
lea ecx, [esp + 0x30]
call fcn.00410e30
mov eax, 1
jmp 0x40a8ff