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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x4c221c]
push ebx
push esi
push edi
mov dword [esp + 0x14], ecx
test al, 1
je 0x41138f
mov edi, dword [ebp + 0x10]
xor eax, eax
push 8
mov word [esp + 0x60], 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
mov word [esp + 0x30], 1
call fcn.0041f4ea
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x4114cc
mov dword [ebx], 0x14
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [esi]
mov dword [ebx + 4], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x54], 1
movsx eax, word [eax + 0xa]
mov dword [esp + 0x18], 0x17
mov dword [esp + 0x64], eax
jmp 0x40fefb
mov byte [esp + 0x1f], 1
cmp byte [esp + 0x1f], 0
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c2210]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c220c]
mov dword [ecx + 0x1c], eax
je 0x4103bb
mov eax, dword [esi]
test eax, eax
je 0x4103bb
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4103bb
push dword [esp + 0x6c]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
inc dword [esi]
push eax
push esi
push dword [ebp + 8]
call fcn.004117e0
test eax, eax
js 0x47a7ef
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi]
cmp ecx, eax
je case.0x41100b.4
mov esi, dword [edx + 4]
mov edx, dword [esi + ecx*4]
movzx eax, word [edx + 8]
cmp ax, 0x7f
je case.0x41100b.4
cwde
cmp eax, 0x33
je 0x40ffc2
cmp eax, 0x4f
je case.0x41100b.4
cmp eax, 5
je 0x41030b
cmp eax, 0x58
ja case.0x41100b.4
movzx eax, byte [eax + 0x4115ec]
jmp dword [eax*4 + 0x411580]
mov eax, dword [edx]
cmp eax, 4
jl 0x410ffa
cmp eax, 0x27
jge 0x410ffa
mov esi, 0x14
mov dword [esp + 0x18], esi
lea esp, [esp]
mov cl, byte [esp + 0x5d]
test cl, cl
jne 0x4104f4
mov eax, ebx
mov eax, dword [eax]
imul eax, eax, 0x15
movzx eax, byte [eax + esi + 0x4bbc20]
cmp eax, 3
jne 0x410274
cmp dword [esp + 0x24], 1
jne 0x411575
xor edi, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x41073e
test ebx, ebx
je 0x40ffb7
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x40ffa5
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x4106de
cmp edi, 0x4c2220
je 0x41001c
cmp dword [edi + 0xc], 4
je 0x410f8e
mov esi, dword [edi + 8]
test esi, esi
jne 0x410fa0
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47a42e
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.004116e0
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 1
jne 0x41072a
mov dword [esp + 0x6c], edi
cmp byte [0x4c20fc], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jne 0x47a904
cmp dword [0x4c20f0], 0
je 0x4103bf
cmp byte [0x4c20f9], 0
jne 0x47a5c1
mov esi, dword [0x4c20f4]
cmp dword [esi], 0
je 0x4103bf
mov ecx, dword [0x4c21f0]
mov byte [esp + 0x1f], 0
test cl, 1
je 0x47a5d2
mov dword [0x4c2210], 0
mov dword [0x4c220c], 0
mov dword [esp + 0x40], 0x4c21f4
mov dword [esp + 0x68], 0x4c21f4
mov edx, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], eax
test eax, eax
je 0x47a5fb
test ecx, ecx
je 0x47a603
cmp eax, ecx
jb 0x4102d3
mov ecx, dword [edx]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov edx, dword [edx]
test eax, eax
je 0x410104
lea esp, [esp]
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x410108
add edx, 2
add ecx, 2
dec dword [esp + 0x3c]
jne 0x4100f0
xor eax, eax
jmp 0x410114
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x41019b
jle 0x40fe88
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x40fe8d
mov edx, dword [ecx + 4]
cmp edx, eax
ja 0x410785
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x48], edx
mov ebx, dword [ebx]
mov dword [esp + 0x3c], ebx
mov ebx, dword [ecx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x34]
test edx, edx
je 0x41018e
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
jne 0x410230
add dword [esp + 0x3c], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x44], eax
jne 0x410160
mov eax, dword [esp + 0x60]
cmp edx, eax
jb 0x41023c
jmp 0x410257
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x40fe8d
mov edx, dword [ecx + 4]
cmp eax, edx
ja 0x4107c4
mov ebx, dword [esp + 0x30]
mov edx, dword [ecx]
mov ebx, dword [ebx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4104e6
mov eax, dword [esp + 0x44]
lea esp, [esp]
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x44]
je 0x4104ce
mov ax, word [eax]
cmp ax, word [edx]
jae 0x410213
mov eax, dword [ecx + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov dword [esi], ecx
cmp dword [ecx + 0x18], 0
je 0x40fe8d
mov eax, dword [esi]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
jmp 0x4100b4
mov edx, dword [esp + 0x3c]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x410257
mov eax, dword [ecx + 0x18]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov dword [ecx + 0x18], eax
mov dword [esi], ecx
cmp dword [ecx + 0x1c], 0
je 0x40fe8d
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov dword [esp + 0x68], eax
mov eax, dword [eax + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
jmp 0x4100b4
cmp eax, 6
ja case.0x410279.3
jmp dword [eax*4 + 0x411648]
test cl, cl
jne 0x4107fb
push 8
call fcn.0041f4ea
add esp, 4
test eax, eax
je 0x41153d
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ebx, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
inc dword [esp + 0x54]
cmp esi, 7
je 0x411078
cmp esi, 8
je 0x411078
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
jmp 0x40fef8
mov eax, dword [esp + 0x30]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x410104
jmp 0x4102f0
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x3c]
je 0x410f76
movzx eax, word [eax]
cmp ax, word [edx]
jmp 0x41010e
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x410807
cmp edi, 0x4c2220
je 0x410365
cmp dword [edi + 0xc], 4
je 0x41078c
mov esi, dword [edi + 8]
test esi, esi
jne 0x41079e
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47a18a
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.004116e0
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x410853
mov esi, edi
mov ecx, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test ecx, ecx
jne 0x47a340
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47a352
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc], 1
mov dword [esi], eax
mov esi, dword [ebp + 0xc]
inc dword [esi]
jmp 0x40fef8
mov eax, dword [esp + 0x30]
mov esi, dword [0x4c20e0]
test esi, esi
je 0x47a904
mov ecx, dword [0x4c21f0]
mov byte [esp + 0x1f], 0
test cl, 1
je 0x47a610
mov dword [0x4c2210], 0
mov dword [0x4c220c], 0
mov dword [esp + 0x3c], 0x4c21f4
mov dword [esp + 0x68], 0x4c21f4
mov edx, dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], edx
test edx, edx
je 0x47a63f
test ecx, ecx
je 0x47a647
cmp edx, ecx
jb 0x4105bd
mov ecx, dword [esi]
mov eax, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov edx, dword [edx]
test eax, eax
je 0x410458
lea esp, [esp]
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41060d
add edx, 2
add ecx, 2
dec dword [esp + 0x48]
jne 0x410440
xor eax, eax
mov edx, dword [esp + 0x44]
test eax, eax
js 0x41061e
jg 0x4104fc
mov byte [esp + 0x1f], 1
cmp byte [esp + 0x1f], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4c20e0]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c20e0]
mov eax, dword [0x4c2210]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c20e0]
mov eax, dword [0x4c220c]
mov dword [ecx + 0x1c], eax
je 0x47a904
mov eax, dword [0x4c20e0]
test eax, eax
je 0x47a904
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x40fed9
jmp 0x47a904
add eax, 2
add edx, 2
dec dword [esp + 0x3c]
mov dword [esp + 0x44], eax
jne 0x4101e0
mov eax, dword [esp + 0x60]
cmp eax, dword [ecx + 4]
jae 0x410213
jmp 0x4101f8
mov eax, dword [ebx + 4]
jmp 0x40ff6e
lea eax, [esi + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
test eax, eax
je 0x410471
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
cmp ecx, edx
jbe 0x41051e
mov ecx, edx
mov dword [esp + 0x40], edx
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx]
test eax, eax
je 0x41054a
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x410552
add edx, 2
add ecx, 2
dec dword [esp + 0x48]
jne 0x410532
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
jb 0x410554
jmp 0x410577
jae 0x410577
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4c20e0]
mov dword [esi + 0x18], eax
mov dword [0x4c20e0], esi
cmp dword [esi + 0x1c], 0
je 0x410471
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], esi
mov eax, dword [0x4c20e0]
mov dword [esp + 0x68], eax
mov esi, dword [eax + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [0x4c20e0], esi
jmp 0x410405
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00411cd0
test eax, eax
js 0x411561
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], ebx
jmp 0x40ff60
mov eax, dword [esi]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x4107e2
lea esp, [esp]
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
je 0x4107cf
movzx eax, word [eax]
mov ecx, dword [esp + 0x38]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x41045e
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x41045a
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x18]
mov dword [esp + 0x44], eax
test ecx, ecx
je 0x410471
mov eax, dword [ecx + 4]
cmp edx, eax
ja 0x411143
mov eax, dword [ecx]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
test edx, edx
je 0x410686
jmp 0x410660
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
jne 0x41068d
add dword [esp + 0x38], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x40], eax
jne 0x410660
cmp edx, dword [ecx + 4]
jb 0x410699
jmp 0x4106bc
mov edx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x4106bc
mov esi, ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4c20e0]
mov dword [esi + 0x1c], eax
mov dword [0x4c20e0], esi
cmp dword [esi + 0x18], 0
je 0x410471
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x18], esi
mov eax, dword [0x4c20e0]
mov dword [esp + 0x3c], eax
mov esi, dword [eax + 0x18]
mov eax, dword [esp + 0x30]
mov dword [0x4c20e0], esi
jmp 0x410405
cmp byte [esp + 0x2d], 0
jne 0x410d64
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41152a
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.004116e0
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
jmp 0x410020
cmp byte [esp + 0x2d], 0
jne 0x411531
mov dword [esp + 0x6c], eax
jmp 0x410032
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
test ecx, ecx
jne 0x41116a
mov eax, dword [ebx + 0xc]
cmp eax, 5
jge 0x4112e1
push ebx
mov dword [ebx + 0xc], 1
mov dword [ebx], 0
call fcn.0041f55e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x410742
mov ebx, dword [esp + 0x34]
jmp 0x40ffa1
mov edx, eax
jmp 0x410140
cmp dword [0x4c222c], 4
jne 0x410331
jmp 0x47a15d
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47a170
push esi
call fcn.0041f55e
add esp, 4
mov dword [edi + 8], 0
jmp 0x41033c
mov eax, edx
mov dword [esp + 0x60], edx
jmp 0x4101b9
add dword [esp + 0x38], 2
add eax, 2
mov dword [esp + 0x40], eax
dec ecx
jne 0x4105e0
xor eax, eax
jmp 0x41045e
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xd
mov dword [ecx], eax
jmp 0x40ff58
mov dword [ebx], esi
mov byte [esp + 0x5d], 0
jmp 0x4102a9
cmp byte [esp + 0x2d], 0
jne 0x410ef7
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41151b
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.004116e0
mov eax, dword [esp + 0x10]
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x410369
cmp byte [esp + 0x2d], 0
jne 0x411522
mov esi, edx
jmp 0x410387
test cl, cl
je 0x410db5
mov eax, dword [ebx + 4]
cmp dword [eax], 0x12
je 0x4108f5
test cl, cl
jne 0x410eef
mov eax, ebx
cmp dword [eax], 0x14
je 0x41156a
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00411cd0
test eax, eax
js 0x411561
mov ebx, dword [esp + 0x58]
mov cl, byte [esp + 0x5d]
mov dword [esp + 0x34], ebx
jmp case.0x410279.2
test ecx, ecx
je 0x4108d1
mov eax, dword [esi + ecx*4 - 4]
movzx eax, word [eax + 8]
cmp ax, 0x48
je 0x479d73
cmp ax, 0x4f
je 0x479d73
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x12
mov dword [ecx], eax
jmp 0x40ff58
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x13
mov dword [ecx], eax
jmp 0x40ff58
test cl, cl
je 0x410913
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
mov ebx, esi
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
cmp byte [esp + 0x5c], 0
je 0x47a654
mov byte [esp + 0x5d], 1
dec dword [esp + 0x54]
jmp case.0x410279.3
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 1
mov dword [ecx], eax
jmp 0x40ff58
cmp dword [esp + 0x24], 0
mov dword [esp + 0x18], 0x16
je 0x4111d8
cmp byte [esp + 0x2d], 0
jne 0x41125f
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x4114ed
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.004116e0
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esi]
inc dword [esp + 0x24]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
jne 0x4799a0
cmp dword [esp + 0x24], 1
je 0x4111e9
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x10]
jne 0x4114f4
mov dword [esp + 0x30], eax
mov dword [esp + 0x70], 0x49dc50
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
movsx eax, word [eax + 0xa]
mov dword [esp + 0x40], eax
mov eax, dword [0x4c2214]
mov dword [esp + 0x60], ecx
test al, 1
je 0x4799bc
cmp ecx, dword [0x4c2218]
je 0x4799fc
mov eax, dword [ebp + 8]
inc dword [esi]
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x47
jne 0x47a761
lea eax, [ecx + 1]
mov dword [esi], eax
mov dword [esp + 0x48], eax
xor esi, esi
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edx + ecx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x410f56
dec eax
je 0x410a6f
sub eax, 0x37
je 0x41154c
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x410a44
test esi, esi
jne 0x410f48
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x6c], esi
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
lea eax, [ecx + 1]
mov dword [edx], eax
cmp dword [esp + 0x48], ecx
jae 0x410b9e
jmp 0x410aa0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 1
cmp dword [esp + 0x78], eax
jne 0x410b06
add eax, eax
cmp eax, 8
jae 0x410ad7
mov eax, 8
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041f4ea
mov esi, eax
mov eax, dword [esp + 0x78]
add esp, 4
test eax, eax
jne 0x479a25
mov dword [esp + 0x74], esi
push 0x10
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x4114fc
lea eax, [esp + 0x98]
push eax
mov ecx, esi
mov dword [esi + 8], 0
call fcn.004116e0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push dword [esp + 0x38]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
inc ecx
mov dword [esp + 0x7c], ecx
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x88]
push eax
push dword [ebp + 8]
call fcn.0040fdf0
test eax, eax
js 0x47a740
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x38]
inc esi
mov dword [esp + 0x6c], esi
cmp ecx, edx
jne 0x411190
mov dword [esp + 0xa4], 1
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x14]
push dword [esp + 0x60]
add ecx, 0x49c
call fcn.004147c0
cmp esi, dword [eax + 0x18]
jl 0x411556
mov ecx, dword [esp + 0x14]
push dword [esp + 0x60]
lea ecx, [ecx + 0x49c]
call fcn.004147c0
cmp esi, dword [eax + 0x1c]
jg 0x411556
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x479a50
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x479a62
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], 1
mov dword [esi], 1
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
add ecx, edx
cmp byte [ecx + 0xd], 0
jne 0x411503
mov dword [eax + 0x14], 0
cmp byte [ecx + 0xd], 0
mov eax, dword [ecx + 8]
jne 0x41150b
mov byte [eax + 0x18], 0
mov eax, dword [edx]
mov esi, dword [eax + 4]
add esi, edx
mov dword [esp + 0x48], esi
cmp byte [esi + 0xd], 0
jne 0x479b11
mov esi, dword [esi + 8]
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x479b1c
mov eax, dword [esi + 0x2c]
cmp eax, 5
jge 0x479b32
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x20], 0
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x411513
push dword [esp + 0x60]
lea ecx, [edx + 0x49c]
mov byte [eax + 0x30], 0
call fcn.004147c0
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
push dword [esp + 0x30]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ecx + eax]
add ecx, edx
add ecx, dword [esp + 0x1c]
call esi
test eax, eax
js 0x47a77b
xor esi, esi
mov dword [esp + 0x70], 0x49dc50
cmp dword [esp + 0x78], esi
jbe 0x410d02
jmp 0x410cd0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x410cf4
call fcn.0040e030
push dword [esp + 0x48]
call fcn.0041f55e
mov eax, dword [esp + 0x78]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [esp + 0x78]
jb 0x410cd0
push dword [esp + 0x74]
mov dword [esp + 0x7c], 0
call fcn.0041f55e
add esp, 4
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xfc], 1
je 0x47a7ef
mov esi, dword [ebp + 0xc]
jmp 0x40fef8
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x410fd8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0xb
mov esi, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x40ff60
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov dword [ecx], eax
jmp 0x40ff58
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x410dab
cmp dword [eax + 0xc], 4
je 0x411421
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x411433
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x47a4f0
mov ecx, dword [esp + 0x10]
push 0x4c2220
mov dword [ecx + 0xc], 1
mov dword [ecx], 0
call fcn.004116e0
mov byte [esp + 0x2d], 0
jmp 0x41001c
mov eax, ebx
jmp 0x410870
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x411024
cmp edi, 0x4c2220
je 0x410e12
cmp dword [edi + 0xc], 4
je 0x4114a8
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x4114ba
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47978d
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.004116e0
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x411066
mov esi, edi
cmp dword [esi + 0xc], 4
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [esp + 0x48], eax
je 0x47984f
test ecx, ecx
jne 0x47985a
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47986c
push 0x10
mov dword [esi], 0
mov dword [esi + 0xc], 4
call fcn.0041f4ea
mov edx, eax
add esp, 4
test edx, edx
je 0x4114e6
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov dword [esi + 8], edx
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
inc dword [esi]
cmp byte [eax + 0x101], 0
jne 0x47991b
cmp byte [eax + 0x102], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
je 0x40fefe
jmp 0x479933
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x41114a
mov dword [esp + 0x18], 0xc
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40ff60
mov eax, dword [ebx + 4]
jmp 0x410883
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x410f3e
cmp dword [eax + 0xc], 4
je 0x47a239
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x47a259
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x47a26f
mov ecx, dword [esp + 0x10]
push 0x4c2220
mov dword [ecx + 0xc], 1
mov dword [ecx], 0
call fcn.004116e0
mov byte [esp + 0x2d], 0
jmp 0x410365
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
dec esi
mov dword [ecx], eax
jmp 0x410a44
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
inc esi
mov dword [ecx], eax
jmp 0x410a44
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xe
mov dword [ecx], eax
jmp 0x40ff58
add eax, 2
add edx, 2
mov dword [esp + 0x3c], eax
dec ecx
jne 0x4102f0
xor eax, eax
jmp 0x410114
cmp dword [0x4c222c], 4
jne 0x40ffe8
jmp 0x47a401
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47a414
push esi
call fcn.0041f55e
add esp, 4
mov dword [edi + 8], 0
jmp 0x40fff3
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 9
mov dword [ecx], eax
jmp 0x40ff58
cmp eax, 0x13
je 0x410d3c
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0x11
mov esi, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x40ff60
dec eax
cmp eax, 0x29
ja case.0x41100b.4
movzx eax, byte [eax + 0x411684]
jmp dword [eax*4 + 0x411664]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 7
mov dword [ecx], eax
jmp 0x40ff58
cmp byte [esp + 0x2d], 0
je 0x411204
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x41105c
cmp dword [0x4c222c], 4
je 0x411412
mov ecx, eax
call fcn.00412be0
mov ecx, dword [esp + 0x10]
push 0x4c2220
call fcn.004116e0
mov byte [esp + 0x2d], 0
jmp 0x410e12
cmp byte [esp + 0x2d], 0
jne 0x4114de
mov esi, edx
jmp 0x410e34
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
test esi, esi
je 0x411544
cmp esi, 1
jne 0x47a678
mov eax, edi
push eax
lea ecx, [esp + 0xf4]
mov dword [esp + 0xfc], 0
call fcn.004116e0
lea ecx, [esp + 0xf0]
call fcn.00405700
mov ecx, dword [esp + 0x18]
test al, al
jne 0x411363
cmp ecx, 7
jne 0x411129
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0041c1a1
test eax, eax
js 0x47a973
cmp dword [esp + 0x18], 8
je 0x47a68b
cmp esi, 1
jne 0x47a6af
mov esi, edi
mov ecx, esi
call fcn.00412be0
mov dword [esi + 0xc], 9
mov byte [esi], 0
cmp byte [esp + 0x5d], 0
jne 0x47a6cb
cmp byte [esp + 0x5c], 0
je 0x47a6e6
mov byte [esp + 0x5d], 1
dec dword [esp + 0x54]
lea ecx, [esp + 0xf0]
call fcn.00412be0
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
jmp 0x40fefe
mov edx, eax
jmp 0x41063b
cmp eax, 0x13
je 0x410ed6
jmp 0x479cdf
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 5
mov dword [ecx], eax
jmp 0x40ff58
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], 0
je 0x4112bf
push ecx
call fcn.0041f55e
add esp, 4
mov dword [ebx + 8], 0
jmp 0x410754
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x47a706
lea eax, [ecx + 1]
cmp eax, edx
je 0x47a706
lea ecx, [esp + 0x98]
mov dword [esp + 0x80], eax
call fcn.00412be0
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x80], ecx
jb 0x410aa0
jmp 0x410b9e
push 0x4c2220
mov ecx, edi
call fcn.0040dc6e
jmp 0x410994
mov dword [esp + 0x30], edi
jmp 0x4109d0
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 2
mov dword [ecx], eax
jmp 0x40ff58
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x4114d7
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.004116e0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x411379
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x410e16
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 4
mov dword [ecx], eax
jmp 0x40ff58
mov ecx, dword [esp + 0x10]
push 0x4c2220
call fcn.0040dc6e
mov byte [esp + 0x2d], 0
jmp 0x410994
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
lea ecx, [esp + 0x20]
call fcn.0041d436
mov esi, eax
mov ecx, esi
call fcn.00412be0
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esi + 0xc], 9
mov byte [esi], 0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
inc dword [esi]
jmp 0x40fef8
push dword [ecx]
call fcn.0041f55e
mov eax, dword [esp + 0x4c]
add esp, 4
push dword [eax + 0xc]
call fcn.0041f55e
mov ecx, dword [esp + 0x4c]
add esp, 4
jmp 0x41117b
sub eax, 5
cmp eax, 0xa
ja case.0x4112ed.6
jmp dword [eax*4 + 0x4116b0]
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
mov byte [esp + 0xa8], 1
push dword [esp + 0xa8]
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.0041dc35
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
inc dword [esi]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
jmp 0x40fef8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 3
mov dword [ecx], eax
jmp 0x40ff58
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 8
mov dword [ecx], eax
jmp 0x40ff58
cmp ecx, 8
je 0x4110d0
test al, al
jne 0x411129
jmp 0x4110cb
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x410e16
or eax, 1
push 0x471aaf
mov dword [0x4c221c], eax
mov dword [0x4c2220], 0
mov dword [0x4c2228], 0
mov dword [0x4c222c], 1
call fcn.00420f0a
add esp, 4
jmp 0x40fe10
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
lea ecx, [esp + 0x20]
lea eax, [edx + 1]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov edx, dword [eax + edx*4]
call fcn.0041d436
mov ecx, dword [esp + 0x14]
push eax
push dword [edx]
call fcn.0041d916
test eax, eax
jns 0x4102c2
jmp 0x47a7cb
cmp dword [eax + 0xc], 4
jne 0x411047
jmp 0x47983c
cmp dword [0x4c222c], 4
jne 0x410d79
jmp 0x47a4dd
push ecx
call fcn.00402ac4
mov eax, dword [esp + 0x10]
mov dword [eax + 8], 0
jmp 0x410d84
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x20]
fld qword [eax]
fstp qword [esp + 0x48]
call fcn.0041d436
mov esi, eax
mov ecx, esi
call fcn.00412be0
fld qword [esp + 0x48]
mov eax, dword [esp + 0x28]
fstp qword [esi]
mov edi, dword [esp + 0x20]
mov dword [esi + 0xc], 3
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
inc dword [esi]
jmp 0x40fef8
cmp dword [0x4c222c], 4
jne 0x410de2
jmp 0x47977a
push ecx
call fcn.00402ac4
mov dword [edi + 8], 0
jmp 0x410ded
xor ebx, ebx
mov dword [esp + 0x34], ebx
jmp 0x40fe55
xor esi, esi
jmp 0x41122b
mov esi, dword [edx + 0x10]
jmp 0x410e34
xor edx, edx
jmp 0x410e98
xor esi, esi
jmp 0x410983
mov eax, dword [eax + 0x10]
jmp 0x4109cc
xor esi, esi
jmp 0x410b30
mov eax, dword [eax + 0x38]
jmp 0x410c17
mov eax, dword [eax + 0x38]
jmp 0x410c2b
mov eax, dword [eax + 0x38]
jmp 0x410c7d
xor esi, esi
jmp 0x410839
mov esi, dword [edx + 0x10]
jmp 0x410387
xor esi, esi
jmp 0x410710
mov eax, dword [eax + 0x10]
mov dword [esp + 0x6c], eax
jmp 0x410032
xor eax, eax
jmp 0x41029c
mov esi, dword [ebp + 0xc]
jmp 0x40fef8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
jmp 0x47a761
push dword [esp + 0x40]
push 0x70
jmp 0x47a772
push dword [esp + 0x64]
jmp 0x47a868
push dword [esp + 0x64]
push 0x6d
jmp 0x47a7de
push dword [esp + 0x64]
push 0x6e
jmp 0x47a7de
push dword [0x4c2228]
mov ecx, dword [edi + 8]
call fcn.00406eed
jmp 0x410e12
sub eax, 5
cmp eax, 0xa
ja case.0x479799.6
jmp dword [eax*4 + 0x47aa36]
mov eax, dword [edi]
test eax, eax
je case.0x479799.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x479799.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x479799.6
push ecx
call fcn.0044a16b
jmp case.0x479799.6
mov ecx, edi
call fcn.0041dcb2
jmp case.0x479799.6
mov eax, dword [edi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x479799.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x479799.6
push ecx
call fcn.004397c3
jmp case.0x479799.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x479799.6
push ecx
call fcn.004397ed
jmp case.0x479799.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x479799.6
push ecx
call fcn.00402ac4
jmp case.0x479799.6
push dword [0x4c2228]
mov ecx, dword [eax + 8]
call fcn.00406eed
jmp 0x41105c
push eax
call fcn.00406eed
jmp 0x410e9b
push ecx
call fcn.00402ac4
mov dword [esi + 8], 0
jmp 0x410e4f
sub eax, 5
cmp eax, 0xa
ja case.0x479878.6
jmp dword [eax*4 + 0x47aa62]
mov eax, dword [esi]
test eax, eax
je case.0x479878.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x479878.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479878.6
push ecx
call fcn.0044a16b
jmp case.0x479878.6
mov ecx, esi
call fcn.0041dcb2
jmp case.0x479878.6
mov eax, dword [esi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x479878.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479878.6
push ecx
call fcn.004397c3
jmp case.0x479878.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479878.6
push ecx
call fcn.004397ed
jmp case.0x479878.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479878.6
push ecx
call fcn.00402ac4
jmp case.0x479878.6
lea ecx, [esp + 0x20]
call fcn.0041d436
push eax
call fcn.0045ef61
mov eax, dword [esp + 0x14]
jmp 0x410eb1
lea ecx, [esp + 0x20]
call fcn.0041d436
mov ecx, dword [esp + 0x14]
push eax
call fcn.0045f0ac
jmp 0x411138
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x20]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
call fcn.0041d436
mov esi, eax
mov ecx, esi
call fcn.00412be0
mov dword [esi + 4], ebx
mov ebx, dword [esp + 0x34]
mov dword [esi + 0xc], 2
mov dword [esi], edi
mov esi, dword [ebp + 0xc]
inc dword [esi]
jmp 0x4102c2
mov eax, dword [edx + ecx*4]
lea ecx, [esp + 0x20]
push dword [eax]
call fcn.0041d436
mov ecx, eax
call fcn.0044a6ef
inc dword [esi]
jmp 0x40fef8
or eax, 1
push str.CALL
lea ecx, [esp + 0x11c]
mov dword [0x4c2214], eax
call fcn.0040ce70
mov ecx, dword [0x4c2104]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [esp + 0x118]
mov dword [0x4c2218], eax
call fcn.0040cb37
mov ecx, dword [esp + 0x60]
jmp 0x410a0e
push dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push esi
push dword [ebp + 8]
call fcn.0045e822
lea ecx, [esp + 0x70]
mov esi, eax
call fcn.0043f68c
test esi, esi
js 0x47a7ef
jmp 0x410d16
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x410b02
shl ecx, 2
push ecx
push eax
push esi
call fcn.0041ee80
add esp, 0xc
push dword [esp + 0x74]
call fcn.0041f55e
add esp, 4
jmp 0x410b02
push ecx
call fcn.00402ac4
mov dword [esi + 8], 0
jmp 0x410be5
sub eax, 5
cmp eax, 0xa
ja case.0x479a6e.6
jmp dword [eax*4 + 0x47aa8e]
mov eax, dword [esi]
test eax, eax
je case.0x479a6e.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x479a6e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479a6e.6
push ecx
call fcn.0044a16b
jmp case.0x479a6e.6
mov ecx, esi
call fcn.0041dcb2
jmp case.0x479a6e.6
mov eax, dword [esi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x479a6e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479a6e.6
push ecx
call fcn.004397c3
jmp case.0x479a6e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479a6e.6
push ecx
call fcn.004397ed
jmp case.0x479a6e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x479a6e.6
push ecx
call fcn.00402ac4
jmp case.0x479a6e.6
mov eax, dword [esi + 8]
mov esi, dword [eax + 0x38]
jmp 0x410c47
push ecx
call fcn.00402ac4
mov edx, dword [esp + 0x14]
mov dword [esi + 0x28], 0
jmp 0x410c52
sub eax, 5
cmp eax, 0xa
ja case.0x479b3e.6
jmp dword [eax*4 + 0x47aaba]
mov eax, dword [esi + 0x20]
test eax, eax
je case.0x479b3e.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [esi + 0x20]
call fcn.0041f55e
mov edx, dword [esp + 0x18]
add esp, 4
jmp case.0x479b3e.6
mov ecx, dword [esi + 0x20]
test ecx, ecx
je case.0x479b3e.6
push ecx
call fcn.0044a16b
mov edx, dword [esp + 0x14]
jmp case.0x479b3e.6
lea ecx, [esi + 0x20]
call fcn.0041dcb2
mov edx, dword [esp + 0x14]
jmp case.0x479b3e.6
mov eax, dword [esi + 0x20]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [esi + 0x20]
call fcn.0041f55e
mov edx, dword [esp + 0x18]
add esp, 4
jmp case.0x479b3e.6
mov ecx, dword [esi + 0x20]
test ecx, ecx
je case.0x479b3e.6
push ecx
call fcn.004397c3
mov edx, dword [esp + 0x14]
jmp case.0x479b3e.6
mov ecx, dword [esi + 0x20]
test ecx, ecx
je case.0x479b3e.6
push ecx
call fcn.004397ed
mov edx, dword [esp + 0x14]
jmp case.0x479b3e.6
mov ecx, dword [esi + 0x20]
test ecx, ecx
je case.0x479b3e.6
push ecx
call fcn.00402ac4
mov edx, dword [esp + 0x14]
jmp case.0x479b3e.6
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3b2
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [edi + 4]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
je 0x479ca4
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 0xb0], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xb8], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
inc dword [eax]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xb0]
push eax
call fcn.00401caa
test eax, eax
je 0x47a790
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.0044b171
inc dword [esi]
lea ecx, [esp + 0xb0]
call fcn.0040cb37
jmp 0x4102c2
lea eax, [esp + 0x87]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d436
push eax
push esi
push edi
mov edi, dword [esp + 0x24]
push 0
mov ecx, edi
call fcn.004131c0
test eax, eax
js 0x47a7e7
cmp dword [edi + 0xfc], 1
je 0x47a7e7
jmp 0x4102c2
mov dword [esp + 0x18], 0x10
jmp 0x410ede
cmp dword [esp + 0x24], 0
mov dword [esp + 0x18], 0x16
je 0x47a82b
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 1
call fcn.0041d436
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
push eax
push esi
push dword [ebp + 8]
call fcn.004117e0
test eax, eax
js 0x47a7fb
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.0040dc6e
lea ecx, [esp + 0xd0]
call fcn.00412be0
jmp 0x40fef8
cmp dword [esp + 0x24], 0
je 0x47a82b
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 1
call fcn.0041d436
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
push eax
push esi
push dword [ebp + 8]
call fcn.004117e0
test eax, eax
js 0x47a813
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.0040dc6e
lea ecx, [esp + 0xc0]
call fcn.00412be0
jmp 0x40fef8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 6
mov dword [ecx], eax
jmp 0x40ff58
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xf
mov dword [ecx], eax
jmp 0x40ff58
lea ecx, [esp + 0x54]
call fcn.00405f0b
mov eax, dword [eax]
cmp eax, 0x14
je 0x479e43
cmp eax, 0x12
je 0x479e43
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00411cd0
test eax, eax
jns case.0x40ff38.87
jmp 0x411561
cmp dword [esp + 0x24], 0
je 0x47a855
lea ecx, [esp + 0x20]
call fcn.0041d436
mov ecx, eax
call fcn.00449e71
lea ecx, [esp + 0x20]
test al, al
je 0x479ec4
call fcn.0041c5cd
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
inc dword [ebx]
mov edx, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, 1
mov eax, dword [esi + edx*4]
movzx eax, word [eax + 8]
cmp ax, 0x57
jne 0x479e8d
inc ecx
jmp 0x479ea6
cmp ax, 0x58
jne 0x479e96
dec ecx
jmp 0x479ea6
cmp ax, 0x7f
je 0x479ead
cmp ax, 0x40
jne 0x479ea6
test ecx, ecx
je 0x479ead
inc edx
mov dword [ebx], edx
test ecx, ecx
jne 0x479e7d
mov esi, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x18], 0x12
mov dword [esp + 0x34], ebx
jmp 0x4102c2
call fcn.0041c5cd
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x58]
inc dword [esi]
mov dword [esp + 0x18], 0x12
mov dword [esp + 0x34], ebx
jmp 0x4102c2
cmp dword [esp + 0x24], 0
mov eax, dword [ebp + 0xc]
je 0x47a82e
lea edx, [ecx + 1]
mov dword [esp + 0x18], 0x16
mov dword [eax], edx
mov ecx, 1
mov ebx, eax
mov eax, dword [esi + edx*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
jne 0x479f15
inc ecx
jmp 0x479f2f
cmp ax, 0x48
jne 0x479f1e
dec ecx
jmp 0x479f2f
cmp ax, 0x7f
je 0x479f36
cmp ax, 0x40
jne 0x479f2f
cmp ecx, 1
je 0x479f36
inc edx
mov dword [ebx], edx
test ecx, ecx
jne 0x479f05
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov edx, dword [edx]
mov eax, dword [esi + edx*4 - 4]
mov esi, dword [ebp + 0xc]
cmp word [eax + 8], 0x48
mov eax, dword [ebp + 0x14]
jne 0x41113b
test ecx, ecx
jne 0x41113b
lea eax, [edx - 1]
mov dword [esi], eax
jmp 0x40fef8
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xa
mov dword [ecx], eax
jmp 0x40ff58
sub esp, 0x10
mov ecx, esp
push str.Default
mov dword [esp + 0x2c], 0x16
call fcn.0040ce70
push 0xffffffffffffffff
push 0x29
jmp 0x479faf
sub esp, 0x10
mov ecx, esp
push 0x49dc00
mov dword [esp + 0x2c], 0x16
call fcn.0040ce70
push 0
push 0x2a
lea ecx, [esp + 0x118]
call fcn.004490d3
push 0x4c2220
lea ecx, [esp + 0x24]
call fcn.0041d3b2
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.00449d58
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x108]
inc dword [esi]
call fcn.0040cb37
jmp 0x4102c2
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 1
mov byte [esp + 0x1f], 1
test ecx, ecx
je 0x47a050
mov eax, dword [esi + ecx*4 - 4]
movzx eax, word [eax + 8]
cmp ax, 0x48
je 0x47a035
cmp ax, 0x4f
jne 0x47a050
lea ecx, [esp + 0x20]
call fcn.0041d436
push eax
lea ecx, [esp + 0x8c]
call fcn.0040dc6e
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x88]
call fcn.0045cb80
test al, al
jne 0x47a0cd
cmp byte [esp + 0x1f], al
je 0x47a88f
mov esi, dword [esp + 0x14]
lea ecx, [esi + 0x16c]
call fcn.0045eba6
push eax
lea ecx, [esp + 0x8c]
call fcn.0040dc6e
lea ecx, [esp + 0x88]
call fcn.0045cb80
test al, al
jne 0x47a0cd
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [eax + 0xa]
push eax
push 0xa7
call fcn.0044cc5c
lea ecx, [esp + 0x88]
call fcn.00412be0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0x8c]
push eax
push esi
push edi
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 1
call fcn.0045f45e
test eax, eax
js 0x47a8c8
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x18], 0x16
jne 0x47a12f
lea ecx, [esp + 0x20]
call fcn.0041c5cd
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d3b2
lea ecx, [esp + 0xe0]
call fcn.00412be0
lea ecx, [esp + 0x88]
call fcn.00412be0
jmp 0x4102c2
push dword [0x4c2228]
mov ecx, dword [edi + 8]
call fcn.00406eed
jmp 0x410365
push dword [esi]
call fcn.0041f55e
add esp, 4
push dword [esi + 0xc]
call fcn.0041f55e
add esp, 4
jmp 0x4107af
sub eax, 5
cmp eax, 0xa
ja case.0x47a196.6
jmp dword [eax*4 + 0x47aae6]
mov eax, dword [edi]
test eax, eax
je case.0x47a196.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a196.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a196.6
push ecx
call fcn.0044a16b
jmp case.0x47a196.6
mov ecx, edi
call fcn.0041dcb2
jmp case.0x47a196.6
mov eax, dword [edi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a196.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a196.6
push ecx
call fcn.004397c3
jmp case.0x47a196.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a196.6
push ecx
call fcn.004397ed
jmp case.0x47a196.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a196.6
push ecx
call fcn.00402ac4
jmp case.0x47a196.6
cmp dword [0x4c222c], 4
jne 0x410f0c
push dword [0x4c2228]
mov ecx, dword [eax + 8]
call fcn.00406eed
jmp 0x410f3e
push ecx
call fcn.00402ac4
mov eax, dword [esp + 0x10]
mov dword [eax + 8], 0
jmp 0x410f17
sub eax, 5
cmp eax, 0xa
ja case.0x47a27b.6
jmp dword [eax*4 + 0x47ab12]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je case.0x47a27b.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0041f55e
add esp, 4
jmp case.0x47a27b.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a27b.6
push ecx
call fcn.0044a16b
jmp case.0x47a27b.6
mov ecx, dword [esp + 0x10]
call fcn.0041dcb2
jmp case.0x47a27b.6
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
push dword [eax + 4]
call fcn.0041f55e
mov eax, dword [esp + 0x14]
add esp, 4
push dword [eax]
call fcn.0041f55e
add esp, 4
jmp case.0x47a27b.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a27b.6
push ecx
call fcn.004397c3
jmp case.0x47a27b.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a27b.6
push ecx
call fcn.004397ed
jmp case.0x47a27b.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a27b.6
push ecx
call fcn.00402ac4
jmp case.0x47a27b.6
push ecx
call fcn.00402ac4
mov dword [esi + 8], 0
jmp 0x410398
sub eax, 5
cmp eax, 0xa
ja case.0x47a35e.6
jmp dword [eax*4 + 0x47ab3e]
mov eax, dword [esi]
test eax, eax
je case.0x47a35e.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a35e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x47a35e.6
push ecx
call fcn.0044a16b
jmp case.0x47a35e.6
mov ecx, esi
call fcn.0041dcb2
jmp case.0x47a35e.6
mov eax, dword [esi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [esi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a35e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x47a35e.6
push ecx
call fcn.004397c3
jmp case.0x47a35e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x47a35e.6
push ecx
call fcn.004397ed
jmp case.0x47a35e.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x47a35e.6
push ecx
call fcn.00402ac4
jmp case.0x47a35e.6
push dword [0x4c2228]
mov ecx, dword [edi + 8]
call fcn.00406eed
jmp 0x41001c
push dword [esi]
call fcn.0041f55e
add esp, 4
push dword [esi + 0xc]
call fcn.0041f55e
add esp, 4
jmp 0x410fb1
sub eax, 5
cmp eax, 0xa
ja case.0x47a43a.6
jmp dword [eax*4 + 0x47ab6a]
mov eax, dword [edi]
test eax, eax
je case.0x47a43a.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a43a.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a43a.6
push ecx
call fcn.0044a16b
jmp case.0x47a43a.6
mov ecx, edi
call fcn.0041dcb2
jmp case.0x47a43a.6
mov eax, dword [edi]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [edi]
call fcn.0041f55e
add esp, 4
jmp case.0x47a43a.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a43a.6
push ecx
call fcn.004397c3
jmp case.0x47a43a.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a43a.6
push ecx
call fcn.004397ed
jmp case.0x47a43a.6
mov ecx, dword [edi]
test ecx, ecx
je case.0x47a43a.6
push ecx
call fcn.00402ac4
jmp case.0x47a43a.6
push dword [0x4c2228]
mov ecx, dword [eax + 8]
call fcn.00406eed
jmp 0x410dab
sub eax, 5
cmp eax, 0xa
ja case.0x47a4fc.6
jmp dword [eax*4 + 0x47ab96]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je case.0x47a4fc.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0041f55e
add esp, 4
jmp case.0x47a4fc.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a4fc.6
push ecx
call fcn.0044a16b
jmp case.0x47a4fc.6
mov ecx, dword [esp + 0x10]
call fcn.0041dcb2
jmp case.0x47a4fc.6
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
push dword [eax + 4]
call fcn.0041f55e
mov eax, dword [esp + 0x14]
add esp, 4
push dword [eax]
call fcn.0041f55e
add esp, 4
jmp case.0x47a4fc.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a4fc.6
push ecx
call fcn.004397c3
jmp case.0x47a4fc.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a4fc.6
push ecx
call fcn.004397ed
jmp case.0x47a4fc.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je case.0x47a4fc.6
push ecx
call fcn.00402ac4
jmp case.0x47a4fc.6
mov eax, dword [0x4c20f4]
mov esi, dword [eax + 8]
mov eax, dword [esp + 0x30]
jmp 0x410073
or ecx, 1
mov dword [0x4c21f0], ecx
mov ecx, 0x4c21f4
call fcn.0040d7b3
push 0x471aa5
call fcn.00420f0a
mov eax, dword [esp + 0x34]
add esp, 4
jmp 0x410090
test ecx, ecx
jne 0x4101a3
test eax, eax
jne 0x41012a
jmp 0x4100d4
or ecx, 1
mov dword [0x4c21f0], ecx
mov ecx, 0x4c21f4
call fcn.0040d7b3
push 0x471aa5
call fcn.00420f0a
mov esi, dword [0x4c20e0]
mov eax, dword [esp + 0x34]
add esp, 4
jmp 0x4103e1
test ecx, ecx
jne 0x41061e
test edx, edx
jne 0x4104fc
jmp 0x41041f
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
mov ebx, esi
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
mov byte [esp + 0x5d], 0
jmp 0x410923
cmp byte [esp + 0x2d], 0
je 0x41109b
mov eax, dword [eax + 0x10]
jmp 0x41109b
mov byte [esp + 0xac], 1
push dword [esp + 0xac]
lea ecx, [esp + 0x24]
call fcn.0041d436
mov ecx, eax
call fcn.0041dc35
jmp 0x41110a
cmp byte [esp + 0x2d], 0
je 0x47a6c2
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x10]
jmp 0x4110f9
mov esi, dword [esp + 0x10]
jmp 0x4110f9
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
mov ebx, esi
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
jmp 0x411115
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
mov ebx, esi
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
mov byte [esp + 0x5d], 0
jmp 0x411125
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x6f
call fcn.0044cc5c
lea ecx, [esp + 0x98]
call fcn.00412be0
lea ecx, [esp + 0x70]
call fcn.0043f68c
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
lea ecx, [esp + 0x98]
call fcn.0040e030
lea ecx, [esp + 0x70]
call fcn.0043f68c
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4 - 4]
movsx eax, word [eax + 0xa]
push eax
push 0x6f
mov ecx, dword [esp + 0x1c]
call fcn.0044cc5c
lea ecx, [esp + 0x70]
call fcn.0043f68c
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov ecx, dword [esi]
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x85
call fcn.0044cc5c
lea ecx, [esp + 0xb0]
call fcn.0040cb37
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov ecx, dword [esi]
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4 - 4]
movsx eax, word [eax + 0xa]
push eax
push 0x86
mov ecx, dword [esp + 0x1c]
call fcn.0044cc5c
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
lea ecx, [esp + 0xd0]
call fcn.00412be0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
lea ecx, [esp + 0xc0]
call fcn.00412be0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x6e
call fcn.0044cc5c
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
mov ecx, dword [esp + 0x18]
push 0x6e
call fcn.0044cc5c
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
or edi, 0xffffffff
jmp 0x40ff99
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0xa9
call fcn.0044cc5c
lea ecx, [esp + 0x88]
call fcn.00412be0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov ecx, dword [esi]
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x6e
call fcn.0044cc5c
lea ecx, [esp + 0xe0]
call fcn.00412be0
lea ecx, [esp + 0x88]
call fcn.00412be0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x79
call fcn.0044cc5c
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x40ff99
push dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push 0x6b
call fcn.0044cc5c
or edi, 0xffffffff
jmp 0x40ff91
push dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push 0x6c
call fcn.0044cc5c
or edi, 0xffffffff
jmp 0x40ff91
push dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push 0x6d
call fcn.0044cc5c
or edi, 0xffffffff
jmp 0x40ff91
push dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push 0x6e
call fcn.0044cc5c
lea ecx, [esp + 0xf0]
or edi, 0xffffffff
call fcn.00412be0
mov eax, dword [esp + 0x10]
jmp 0x40ff99
mov eax, dword [ebx]
test eax, eax
je case.0x4112ed.6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebx]
call fcn.0041f55e
add esp, 4
jmp case.0x4112ed.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x4112ed.6
push ecx
call fcn.0044a16b
jmp case.0x4112ed.6
mov ecx, ebx
call fcn.0041dcb2
jmp case.0x4112ed.6
mov eax, dword [ebx]
push dword [eax + 4]
call fcn.0041f55e
add esp, 4
push dword [ebx]
call fcn.0041f55e
add esp, 4
jmp case.0x4112ed.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x4112ed.6
push ecx
call fcn.004397c3
jmp case.0x4112ed.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x4112ed.6
push ecx
call fcn.004397ed
jmp case.0x4112ed.6
mov ecx, dword [ebx]
test ecx, ecx
je case.0x4112ed.6
push ecx
call fcn.00402ac4
jmp case.0x4112ed.6