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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1b54
call fcn.00476ba0
mov eax, dword [0x47f200]
xor eax, esp
mov dword [esp + 0x1b50], eax
and dword [esp + 0x30], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
mov esi, 0x422738
mov dword [esp + 0x20], ebx
xor ecx, ecx
mov eax, dword [ebx + ecx*4 + 0x38]
cmp eax, dword [esi + ecx*4]
jne 0x4441de
inc ecx
cmp ecx, 4
jne 0x4432f1
mov esi, dword [edx]
mov dword [esp + 0x2c], 0x98
cmp esi, dword [edx + 4]
je 0x44333a
mov eax, dword [esi + 0x60]
test eax, eax
je 0x44331e
mov eax, dword [eax]
jmp 0x443320
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443345
mov eax, dword [esp + 0x18]
add esi, 0x98
cmp esi, dword [eax + 4]
jne 0x443313
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x443355
mov ecx, dword [eax]
jmp 0x443357
push dword [0x47f860]
push 0x417908
jmp 0x4441e9
xor ecx, ecx
push ecx
lea edx, [esp + 0x35c]
call fcn.00444813
push 0x82
push 0x417978
mov ecx, edi
call fcn.00440e28
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
mov ecx, 0x98
cdq
idiv ecx
lea ecx, [ebx + 8]
mov edx, 0x80
mov esi, eax
lea eax, [esp + 0x358]
push eax
push ecx
lea ecx, [esp + 0x260]
call fcn.0044237a
push eax
lea eax, [esp + 0x360]
push eax
push esi
push eax
push 0x417a00
push edi
call fcn.00440df6
mov eax, dword [ebx + 0x90]
add esp, 0x1c
mov edx, dword [ebx + 0x8c]
sub eax, edx
sar eax, 2
test eax, eax
je 0x4436a0
xor ecx, ecx
test eax, eax
je 0x4436a0
mov esi, dword [edx]
cmp dword [esi + 0x14], 0
ja 0x4433ef
cmp dword [esi + 0x10], 0xffffffff
jbe 0x4433fc
inc ecx
add edx, 4
cmp ecx, eax
jb 0x4433e1
jmp 0x4436a0
push 0x48
push 0x417b18
mov ecx, edi
call fcn.00440e28
mov edx, dword [ebx + 0x90]
xor edi, edi
mov ecx, dword [ebx + 0x8c]
mov eax, edx
sub eax, ecx
sar eax, 2
test eax, eax
je 0x44349d
mov eax, dword [ecx + edi*4]
cmp dword [eax + 0x14], 0
ja 0x443491
jb 0x443434
cmp dword [eax + 0x10], 0xffffffff
ja 0x443491
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x443440
mov esi, dword [ecx + 0xc]
jmp 0x443443
mov esi, dword [eax + 8]
test esi, esi
je 0x44344b
mov esi, dword [esi]
jmp 0x44344d
xor esi, esi
mov ecx, esi
call fcn.00444873
mov eax, dword [ebx + 0x90]
sub eax, dword [ebx + 0x8c]
sar eax, 2
dec eax
cmp edi, eax
mov eax, 0x417b64
jne 0x443472
mov eax, 0x402458
push eax
push esi
push 0x417b68
push dword [esp + 0x1c]
call fcn.00440df6
mov edx, dword [ebx + 0x90]
add esp, 0x10
mov ecx, dword [ebx + 0x8c]
mov eax, edx
inc edi
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x443423
mov edi, dword [esp + 0x10]
mov ecx, edi
push 2
push 0x417b98
call fcn.00440e28
push 0x16
push 0x417b9c
mov ecx, edi
call fcn.00440e28
mov edx, dword [ebx + 0x90]
xor esi, esi
mov ecx, dword [ebx + 0x8c]
mov eax, edx
sub eax, ecx
sar eax, 2
test eax, eax
je 0x443545
mov eax, dword [ecx + esi*4]
cmp dword [eax + 0x14], 0
ja 0x443539
jb 0x4434e7
cmp dword [eax + 0x10], 0xffffffff
ja 0x443539
mov edi, dword [eax + 8]
test edi, edi
je 0x4434f2
mov edi, dword [edi]
jmp 0x4434f4
xor edi, edi
mov ecx, edi
call fcn.00444873
mov eax, dword [ebx + 0x90]
sub eax, dword [ebx + 0x8c]
sar eax, 2
dec eax
cmp esi, eax
mov eax, 0x417b64
jne 0x443519
mov eax, 0x402458
push eax
push edi
mov edi, dword [esp + 0x18]
push 0x417bb4
push edi
call fcn.00440df6
mov edx, dword [ebx + 0x90]
add esp, 0x10
mov ecx, dword [ebx + 0x8c]
mov eax, edx
inc esi
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x4434d6
push 2
push 0x417b98
mov ecx, edi
call fcn.00440e28
push 0x10
push 0x417be4
mov ecx, edi
call fcn.00440e28
mov edx, dword [ebx + 0x90]
xor esi, esi
mov ecx, dword [ebx + 0x8c]
mov eax, edx
sub eax, ecx
sar eax, 2
test eax, eax
je 0x4435e9
mov eax, dword [ecx + esi*4]
cmp dword [eax + 0x14], 0
ja 0x4435dd
jb 0x44358b
cmp dword [eax + 0x10], 0xffffffff
ja 0x4435dd
mov edi, dword [eax + 8]
test edi, edi
je 0x443596
mov edi, dword [edi]
jmp 0x443598
xor edi, edi
mov ecx, edi
call fcn.00444873
mov eax, dword [ebx + 0x90]
sub eax, dword [ebx + 0x8c]
sar eax, 2
dec eax
cmp esi, eax
mov eax, 0x417b64
jne 0x4435bd
mov eax, 0x402458
push eax
push edi
mov edi, dword [esp + 0x18]
push 0x417bb4
push edi
call fcn.00440df6
mov edx, dword [ebx + 0x90]
add esp, 0x10
mov ecx, dword [ebx + 0x8c]
mov eax, edx
inc esi
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x44357a
push 2
push 0x417b98
mov ecx, edi
call fcn.00440e28
push 0x12
push 0x417bf8
mov ecx, edi
call fcn.00440e28
mov ecx, dword [ebx + 0x90]
xor esi, esi
mov edx, dword [ebx + 0x8c]
mov eax, ecx
sub eax, edx
sar eax, 2
test eax, eax
je 0x443684
mov ebx, dword [edx + esi*4]
mov eax, ecx
mov edi, edx
cmp dword [ebx + 0x14], 0
ja 0x44366e
jb 0x443633
cmp dword [ebx + 0x10], 0xffffffff
ja 0x44366e
sub ecx, edx
mov eax, 0x417b64
sar ecx, 2
dec ecx
cmp esi, ecx
jne 0x443647
mov eax, 0x402458
push eax
push dword [ebx + 0x10]
push 0x417c0c
push dword [esp + 0x1c]
call fcn.00440df6
mov ebx, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [ebx + 0x90]
mov edi, dword [ebx + 0x8c]
jmp 0x443672
mov ebx, dword [esp + 0x20]
mov ecx, eax
inc esi
sub eax, edi
mov edx, edi
sar eax, 2
cmp esi, eax
jb 0x44361e
mov edi, dword [esp + 0x10]
push 0xa
push 0x417c40
mov ecx, edi
call fcn.00440e28
push 0x18
push 0x417c4c
mov ecx, edi
call fcn.00440e28
mov eax, dword [esp + 0x18]
xor esi, esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cdq
idiv dword [esp + 0x2c]
test eax, eax
je 0x4436dd
add ecx, 0x2c
mov edx, 0x98
cmp byte [ecx], 0
jne 0x4436cc
inc esi
add ecx, edx
cmp esi, eax
jb 0x4436be
jmp 0x4436dd
push 0x32d
push 0x417c68
mov ecx, edi
call fcn.00440e28
push 3
push 0x417f98
mov ecx, edi
call fcn.00440e28
mov eax, dword [ebx + 0x78]
xor edx, edx
mov ecx, dword [ebx + 0x74]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x4c], edx
test eax, eax
je 0x4441d5
mov ebx, dword [ecx + edx*4]
and dword [esp + 0x14], 0
mov dword [esp + 0x30], ebx
lea esi, [ebx + 8]
mov eax, dword [esi]
mov dword [esp + 0x38], esi
test eax, eax
je 0x443721
mov eax, dword [eax]
jmp 0x443723
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x4441b1
mov eax, dword [esi]
test eax, eax
je 0x44373c
mov eax, dword [eax]
jmp 0x44373e
xor eax, eax
mov ecx, 0x415a74
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x443769
test dx, dx
je 0x443765
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x443769
add eax, 4
add ecx, 4
test dx, dx
jne 0x443743
xor eax, eax
jmp 0x44376e
sbb eax, eax
or eax, 1
test eax, eax
je 0x4441b1
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x443782
add eax, 0xc
jmp 0x443784
mov eax, esi
push eax
lea ecx, [esp + 0x18]
call fcn.0044abd4
mov eax, dword [esp + 0x18]
mov ecx, 0x98
and dword [esp + 0x28], 0
and dword [esp + 0x24], 0
mov esi, dword [esp + 0x14]
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, edi
cdq
idiv ecx
test eax, eax
je 0x4438c6
xor ebx, ebx
mov eax, dword [edi + ebx + 0x5c]
test eax, eax
je 0x4437c5
mov eax, dword [eax]
jmp 0x4437c7
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443878
test esi, esi
je 0x4437de
mov ecx, dword [esi]
jmp 0x4437e0
xor ecx, ecx
mov eax, dword [edi + ebx + 0x5c]
test eax, eax
je 0x4437ec
mov eax, dword [eax]
jmp 0x4437ee
xor eax, eax
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x443814
test dx, dx
je 0x443810
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x443814
add eax, 4
add ecx, 4
test dx, dx
jne 0x4437ee
xor eax, eax
jmp 0x443819
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443878
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x443839
movzx eax, byte [edi + ebx + 0x2a]
mov dword [esp + 0x28], 1
mov word [esp + 0x50], ax
jmp 0x443878
xor ecx, ecx
xor eax, eax
test edx, edx
je 0x44385d
movzx edx, byte [edi + ebx + 0x2a]
cmp word [esp + eax*2 + 0x50], dx
je 0x443856
inc eax
cmp eax, dword [esp + 0x28]
jb 0x443846
jmp 0x443859
xor ecx, ecx
inc ecx
mov edx, dword [esp + 0x28]
cmp edx, 0x100
jae 0x4438a1
test ecx, ecx
jne 0x443878
movzx eax, byte [edi + ebx + 0x2a]
mov word [esp + edx*2 + 0x50], ax
inc edx
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x18]
add ebx, 0x98
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, edi
cdq
idiv dword [esp + 0x2c]
cmp ecx, eax
jb 0x4437b9
jmp 0x4438c2
push 0x101
push dword [0x47f860]
push 0x417fa0
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476567
add esp, 0x10
mov ebx, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x28], ecx
jbe 0x444175
lea edx, [ebx + 0x18]
lea eax, [ebx + 0x10]
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x4438f2
mov eax, dword [eax]
jmp 0x4438f4
xor eax, eax
test esi, esi
je 0x4438fc
mov edi, dword [esi]
jmp 0x4438fe
xor edi, edi
movzx ecx, word [esp + ecx*2 + 0x50]
push eax
movzx eax, cx
push eax
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x260]
push edx
mov edx, 0x80
call fcn.0044237a
mov ebx, dword [esp + 0x18]
push eax
push edi
push 0x418020
push ebx
call fcn.00440df6
mov edi, dword [esp + 0x48]
add esp, 0x18
mov eax, dword [edi]
test eax, eax
je 0x443940
mov eax, dword [eax]
jmp 0x443942
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
mov eax, edi
jne 0x443953
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x44395d
mov eax, dword [eax]
jmp 0x44395f
xor eax, eax
lea ecx, [esp + 0x358]
push ecx
push dword [esp + 0x38]
push eax
push 0x4180fc
push ebx
call fcn.00440df6
mov edx, dword [esp + 0x54]
add esp, 0x14
xor ecx, ecx
mov ebx, 0x422738
mov eax, dword [edx + ecx*4]
cmp eax, dword [ebx + ecx*4]
jne 0x4439d9
inc ecx
cmp ecx, 4
jne 0x443985
mov eax, dword [edi]
test eax, eax
je 0x44399d
mov eax, dword [eax]
jmp 0x44399f
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
mov eax, edi
jne 0x4439b0
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x4439ba
mov eax, dword [eax]
jmp 0x4439bc
xor eax, eax
push eax
push dword [0x47f860]
push 0x418130
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476567
add esp, 0x10
mov edi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x44], edx
mov eax, dword [edi + 0xa8]
mov ecx, dword [edi + 0xa4]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x443fc1
mov eax, dword [ecx + edx*4]
mov cl, 1
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edx
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], 0
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv dword [esp + 0x2c]
test eax, eax
je 0x443c21
mov eax, dword [esp + 0x34]
xor edi, edi
movzx edx, word [esp + eax*2 + 0x50]
mov dword [esp + 0x14], edx
movzx eax, byte [ebx + edi + 0x2a]
cmp dx, ax
jne 0x443b68
cmp dword [ebx + edi + 0x84], 0
jbe 0x443b68
mov eax, dword [ebx + edi + 0x20]
test eax, eax
je 0x443a63
mov edx, dword [eax]
jmp 0x443a65
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
test eax, eax
je 0x443a74
mov eax, dword [eax]
jmp 0x443a76
xor eax, eax
mov cx, word [eax]
cmp cx, word [edx]
jne 0x443a9c
test cx, cx
je 0x443a98
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x443a9c
add eax, 4
add edx, 4
test cx, cx
jne 0x443a76
xor eax, eax
jmp 0x443aa1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443b64
mov eax, dword [ebx + edi + 0x5c]
test eax, eax
je 0x443ab5
mov eax, dword [eax]
jmp 0x443ab7
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443b64
test esi, esi
je 0x443ace
mov edx, dword [esi]
jmp 0x443ad0
xor edx, edx
mov eax, dword [ebx + edi + 0x5c]
test eax, eax
je 0x443adc
mov eax, dword [eax]
jmp 0x443ade
xor eax, eax
mov cx, word [eax]
cmp cx, word [edx]
jne 0x443b04
test cx, cx
je 0x443b00
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x443b04
add eax, 4
add edx, 4
test cx, cx
jne 0x443ade
xor eax, eax
jmp 0x443b09
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443b64
cmp byte [esp + 0xe], al
jne 0x443baf
cmp byte [esp + 0xf], al
jne 0x443b4d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
test eax, eax
je 0x443b2c
mov ecx, dword [eax]
jmp 0x443b2e
xor ecx, ecx
mov eax, dword [esp + 0x3c]
movzx eax, ax
push eax
push ecx
push 0x4182a8
push dword [esp + 0x1c]
call fcn.00440df6
add esp, 0x10
mov byte [esp + 0xf], 1
movzx eax, byte [ebx + edi + 0x2d]
push eax
push 0x41831c
push dword [esp + 0x18]
call fcn.00440df6
add esp, 0xc
mov cl, byte [esp + 0xe]
mov eax, dword [esp + 0x18]
add edi, 0x98
inc dword [esp + 0x24]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x24], eax
jb 0x443a3b
test cl, cl
jne 0x443c1d
mov bl, byte [esp + 0xf]
test bl, bl
jne 0x443bdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
test eax, eax
je 0x443bc0
mov ecx, dword [eax]
jmp 0x443bc2
movzx eax, byte [ebx + edi + 0x2d]
xor cl, cl
mov dword [esp + 0x3c], eax
mov byte [esp + 0xe], cl
jmp 0x443b68
xor ecx, ecx
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
movzx eax, ax
push eax
push ecx
push 0x418328
push edi
call fcn.00440df6
add esp, 0x10
jmp 0x443be3
mov edi, dword [esp + 0x10]
xor eax, eax
test bl, bl
sete al
dec eax
and eax, 0x54
add eax, 0x29
push eax
push 0x41839c
push edi
call fcn.00440df6
xor eax, eax
add esp, 0xc
test bl, bl
sete al
dec eax
and eax, 0x53
add eax, 0x28
push eax
push 0x4183a4
push edi
call fcn.00440df6
add esp, 0xc
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x14], edx
mov cl, 1
mov byte [esp + 0xe], cl
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv dword [esp + 0x2c]
test eax, eax
je 0x443f9f
xor edi, edi
mov dword [esp + 0x24], edi
movzx eax, byte [ebx + edi + 0x2a]
cmp word [esp + 0x48], ax
jne 0x443dad
cmp dword [ebx + edi + 0x84], 0
jbe 0x443dad
mov eax, dword [ebx + edi + 0x20]
test eax, eax
je 0x443c75
mov edx, dword [eax]
jmp 0x443c77
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
test eax, eax
je 0x443c86
mov eax, dword [eax]
jmp 0x443c88
xor eax, eax
mov cx, word [eax]
cmp cx, word [edx]
jne 0x443cae
test cx, cx
je 0x443caa
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x443cae
add eax, 4
add edx, 4
test cx, cx
jne 0x443c88
xor eax, eax
jmp 0x443cb3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443da9
mov eax, dword [ebx + edi + 0x5c]
test eax, eax
je 0x443cc7
mov eax, dword [eax]
jmp 0x443cc9
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443da9
test esi, esi
je 0x443ce0
mov edx, dword [esi]
jmp 0x443ce2
xor edx, edx
mov eax, dword [ebx + edi + 0x5c]
test eax, eax
je 0x443cee
mov eax, dword [eax]
jmp 0x443cf0
xor eax, eax
mov cx, word [eax]
cmp cx, word [edx]
jne 0x443d16
test cx, cx
je 0x443d12
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x443d16
add eax, 4
add edx, 4
test cx, cx
jne 0x443cf0
xor eax, eax
jmp 0x443d1b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443da9
mov eax, dword [ebx + edi + 0x14]
test eax, eax
je 0x443d2f
mov eax, dword [eax]
jmp 0x443d31
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443d4c
mov edi, dword [ebx + edi + 0x14]
test edi, edi
je 0x443d48
mov edi, dword [edi]
jmp 0x443d7a
xor edi, edi
jmp 0x443d7a
mov eax, dword [esp + 0x24]
lea edi, [esp + 0xb58]
movzx eax, word [ebx + eax + 0x28]
push eax
lea eax, [esp + 0x35c]
push eax
push 0x416c08
mov eax, edi
push 0x400
push eax
call fcn.0044ac06
add esp, 0x14
xor eax, eax
cmp byte [esp + 0xe], al
push edi
sete al
dec eax
and eax, 0xfffffff4
add eax, 0x2c
push eax
push 0x4183c8
push dword [esp + 0x1c]
call fcn.00440df6
mov edi, dword [esp + 0x34]
add esp, 0x10
xor cl, cl
mov byte [esp + 0xe], cl
jmp 0x443dad
mov cl, byte [esp + 0xe]
mov eax, dword [esp + 0x18]
add edi, 0x98
inc dword [esp + 0x14]
mov dword [esp + 0x24], edi
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv dword [esp + 0x2c]
cmp dword [esp + 0x14], eax
jb 0x443c4b
test cl, cl
jne 0x443f9b
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp byte [esp + 0xf], al
sete al
dec eax
and eax, 0x54
add eax, 0x29
push eax
push 0x4183dc
push ebx
call fcn.00440df6
add esp, 0xc
mov ecx, ebx
push 2
push 0x4183f8
call fcn.00440e28
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x443e1d
mov ecx, dword [ecx]
jmp 0x443e1f
xor ecx, ecx
push ecx
lea edx, [esp + 0x135c]
call fcn.00444813
mov edi, dword [esp + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x443e3a
mov eax, dword [eax]
jmp 0x443e3c
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
mov eax, edi
jne 0x443e4d
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x443e57
mov eax, dword [eax]
jmp 0x443e59
xor eax, eax
mov ecx, dword [esp + 0x34]
push ecx
push eax
push ecx
lea eax, [esp + 0x1364]
push eax
push 0x4183fc
push ebx
call fcn.00440df6
mov eax, dword [esp + 0x30]
mov ebx, 0x98
and dword [esp + 0x2c], 0
add esp, 0x18
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cdq
idiv ebx
test eax, eax
je 0x443f9b
xor ebx, ebx
lea edi, [ecx + ebx]
cmp dword [edi + 0x84], 0
jbe 0x443f53
mov eax, dword [edi + 0x20]
test eax, eax
je 0x443eb3
mov ecx, dword [eax]
jmp 0x443eb5
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
test eax, eax
je 0x443ec4
mov eax, dword [eax]
jmp 0x443ec6
xor eax, eax
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x443eec
test dx, dx
je 0x443ee8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x443eec
add eax, 4
add ecx, 4
test dx, dx
jne 0x443ec6
xor eax, eax
jmp 0x443ef1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x443f53
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x443f00
mov eax, dword [eax]
jmp 0x443f02
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x443f53
test esi, esi
je 0x443f15
mov ecx, dword [esi]
jmp 0x443f17
xor ecx, ecx
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x443f22
mov eax, dword [eax]
jmp 0x443f24
xor eax, eax
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x443f4a
test dx, dx
je 0x443f46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x443f4a
add eax, 4
add ecx, 4
test dx, dx
jne 0x443f24
xor eax, eax
jmp 0x443f4f
sbb eax, eax
or eax, 1
test eax, eax
je 0x443f7c
mov eax, dword [esp + 0x18]
add ebx, 0x98
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cdq
idiv dword [esp + 0x2c]
cmp edi, eax
jb 0x443e98
jmp 0x443f9b
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.00444213
mov ecx, dword [esp + 0x10]
push 3
push 0x417f98
call fcn.00440e28
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0xa8]
mov edx, dword [esp + 0x44]
mov ecx, dword [edi + 0xa4]
inc edx
sub eax, ecx
mov dword [esp + 0x44], edx
sar eax, 2
cmp edx, eax
jb 0x4439fc
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, 0x98
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv ecx
test eax, eax
je 0x44415e
xor edi, edi
mov dword [esp + 0x1c], edi
movzx eax, byte [edi + ebx + 0x2a]
cmp word [esp + 0x48], ax
jne 0x444133
cmp dword [edi + ebx + 0x84], 0
jne 0x444133
mov eax, dword [edi + ebx + 0x5c]
test eax, eax
je 0x444012
mov eax, dword [eax]
jmp 0x444014
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x444133
test esi, esi
je 0x44402b
mov ecx, dword [esi]
jmp 0x44402d
xor ecx, ecx
mov eax, dword [edi + ebx + 0x5c]
test eax, eax
je 0x444039
mov eax, dword [eax]
jmp 0x44403b
xor eax, eax
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x444061
test dx, dx
je 0x44405d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x444061
add eax, 4
add ecx, 4
test dx, dx
jne 0x44403b
xor eax, eax
jmp 0x444066
sbb eax, eax
or eax, 1
test eax, eax
jne 0x444133
mov eax, dword [edi + ebx + 0x14]
test eax, eax
je 0x44407a
mov eax, dword [eax]
jmp 0x44407c
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x444097
mov edi, dword [edi + ebx + 0x14]
test edi, edi
je 0x444093
mov edi, dword [edi]
jmp 0x4440c5
xor edi, edi
jmp 0x4440c5
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0xb58]
movzx eax, word [eax + ebx + 0x28]
push eax
lea eax, [esp + 0x35c]
push eax
push 0x416c08
mov eax, edi
push 0x400
push eax
call fcn.0044ac06
add esp, 0x14
mov eax, dword [esp + 0x1c]
push edi
movzx eax, byte [eax + ebx + 0x2d]
mov ebx, dword [esp + 0x14]
push eax
push edi
push 0x418430
push ebx
call fcn.00440df6
add esp, 0x14
mov ecx, edi
call fcn.00444873
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
test eax, eax
je 0x4440f8
mov eax, dword [eax]
jmp 0x4440fa
xor eax, eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
mov eax, dword [esp + 0x30]
jne 0x44410d
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x444117
mov eax, dword [eax]
jmp 0x444119
xor eax, eax
mov ecx, dword [esp + 0x34]
push ecx
push eax
push ecx
push edi
push 0x4184ec
push ebx
call fcn.00440df6
mov edi, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, 0x98
inc dword [esp + 0x14]
add edi, 0x98
mov dword [esp + 0x1c], edi
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
cdq
idiv ecx
cmp dword [esp + 0x14], eax
jb 0x443fe8
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x28]
jb 0x4438e4
test esi, esi
je 0x4441b1
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x4441b1
cmp dword [esi], 0
je 0x444194
push dword [esi]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
and dword [esi], 0
cmp dword [esi + 4], 0
je 0x4441a7
push dword [esi + 4]
call fcn.00440dcd
and dword [esi + 4], 0
pop ecx
push 0xc
push esi
call fcn.00475a21
pop ecx
pop ecx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
inc edx
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x443704
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00440f77
jmp 0x4441fa
push dword [0x47f860]
push 0x417890
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476567
add esp, 0xc
mov ecx, dword [esp + 0x1b5c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00475a10
mov esp, ebp
pop ebp
ret 4