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

Disassembly:
push 0xffffffffffffffff
push 0x43ee01
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6a0
mov eax, dword [0x4517d8]
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x58]
mov dword [esp + 0x6ac], eax
call fcn.00437537
xor ebx, ebx
mov dword [esp + 0x6b8], ebx
call fcn.00431a75
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov esi, 1
add eax, 0x10
mov dword [esp + 0x70], eax
mov dword [esp + 0x698], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x180], esi
mov dword [esp + 0x17c], esi
mov eax, dword [0x4529b8]
push ebx
push ebx
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x6c4], 1
call fcn.004377d3
test eax, eax
je 0x414bcf
push ebx
push 0x1000
push esi
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x20]
call fcn.00438dc5
test byte [esp + 0x28], 1
mov byte [esp + 0x6b8], 2
jne 0x4149fd
mov edx, dword [esp + 0x24]
push edx
push 4
call fcn.004399b6
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
lea ecx, [eax + 4]
cmp ecx, esi
jbe 0x414a23
sub eax, esi
add eax, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00438a54
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edi, dword [eax]
mov cl, byte [esp + 0x28]
add eax, 4
test cl, 1
mov dword [esp + 0x38], eax
jne 0x414a41
mov edx, dword [esp + 0x24]
push edx
push 4
call fcn.004399b6
lea ecx, [eax + 4]
cmp ecx, esi
jbe 0x414a5f
sub eax, esi
add eax, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00438a54
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ebp, dword [eax]
mov cl, byte [esp + 0x28]
add eax, 4
test cl, 1
mov dword [esp + 0x38], eax
jne 0x414a7d
mov edx, dword [esp + 0x24]
push edx
push 4
call fcn.004399b6
lea ecx, [eax + 4]
cmp ecx, esi
jbe 0x414a9b
sub eax, esi
add eax, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00438a54
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
mov cl, byte [esp + 0x28]
add eax, 4
test cl, 1
mov dword [0x450698], edx
mov dword [esp + 0x38], eax
jne 0x414abf
mov eax, dword [esp + 0x24]
push eax
push 4
call fcn.004399b6
lea ecx, [eax + 4]
cmp ecx, esi
jbe 0x414add
sub eax, esi
add eax, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00438a54
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
mov cl, byte [esp + 0x28]
add eax, 4
test cl, 1
mov dword [0x452998], edx
mov dword [esp + 0x38], eax
jne 0x414b01
mov eax, dword [esp + 0x24]
push eax
push 4
call fcn.004399b6
lea ecx, [eax + 4]
cmp ecx, esi
jbe 0x414b1b
sub eax, esi
add eax, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00438a54
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
add eax, 4
cmp edi, 0x3f0748ba
mov dword [0x452994], edx
mov dword [esp + 0x38], eax
je 0x414b63
lea ecx, [esp + 0x10]
mov byte [esp + 0x6b8], 1
call fcn.00438d80
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0x6b8], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x415079
xor edi, edi
cmp ebp, ebx
jle 0x414bb9
lea esp, [esp]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x74]
call fcn.004143a0
mov esi, dword [0x4529a8]
cmp esi, ebx
jl 0x415030
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
mov ecx, 0x4529a0
call fcn.0040ff60
mov ecx, esi
imul ecx, ecx, 0x63c
lea edx, [esp + 0x70]
push edx
add ecx, dword [0x4529a4]
call fcn.00410ae0
inc edi
cmp edi, ebp
jl 0x414b70
lea ecx, [esp + 0x10]
mov byte [esp + 0x6b8], 1
call fcn.00438d80
jmp 0x41505e
mov al, 0xff
mov cl, 0x7f
mov byte [esp + 0x69], al
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], al
mov byte [esp + 0x6d], al
mov byte [esp + 0x6e], al
mov byte [esp + 0x6f], al
mov eax, dword [str.Word]
mov byte [esp + 0x68], cl
mov byte [esp + 0x6c], cl
mov cl, byte [0x4411d4]
mov dword [esp + 0x198], eax
mov ebp, 0xe011cfd0
lea eax, [esp + 0x198]
mov dword [esp + 0x180], 3
mov dword [esp + 0x178], 4
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebp
mov byte [esp + 0x19c], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414c40
sub eax, edx
lea edx, [esp + 0x298]
push 0x4411c4
push edx
mov dword [esp + 0x6a0], eax
mov dword [esp + 0x18c], 0x1f58
call fcn.0042364f
lea eax, [esp + 0x2a0]
push eax
call fcn.00422ed7
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
shl eax, 1
mov edi, 0xbd0
push str..doc
mov dword [esp + 0x6ac], eax
mov dword [esp + 0x198], 0x13a0
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x6b0], 8
mov dword [esp + 0x19c], edi
call fcn.00422ed7
add esp, 0x10
push eax
push str..doc
lea ecx, [esp + 0x78]
call fcn.0040eed0
mov esi, dword [0x4529a8]
cmp esi, ebx
jge 0x414ce6
jmp fcn.004303ce
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
mov ecx, 0x4529a0
call fcn.0040ff60
mov eax, dword [0x4529a4]
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
imul ecx, ecx, 0x63c
add ecx, eax
call fcn.00410ae0
mov edx, dword [str.PowerPoint]
mov eax, dword [0x4411b0]
mov cx, word [0x4411b4]
mov dword [esp + 0x198], edx
mov dl, byte [0x4411b6]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x198]
mov byte [esp + 0x1a2], dl
mov dword [esp + 0x180], 2
mov dword [esp + 0x178], 4
mov dword [esp + 0x78], ebp
mov word [esp + 0x1a0], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414d68
sub eax, edx
mov dword [esp + 0x698], eax
lea eax, [esp + 0x298]
push 0x441194
push eax
mov dword [esp + 0x18c], 0xdac
call fcn.0042364f
lea ecx, [esp + 0x2a0]
push ecx
call fcn.00422ed7
shl eax, 1
push str..ppt
mov dword [esp + 0x6ac], eax
mov dword [esp + 0x198], edi
call fcn.00422ed7
add esp, 0x10
push eax
push str..ppt
lea ecx, [esp + 0x78]
call fcn.0040eed0
mov esi, dword [0x4529a8]
cmp esi, ebx
jge 0x414ddd
jmp fcn.004303ce
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
mov ecx, 0x4529a0
call fcn.0040ff60
mov ecx, esi
imul ecx, ecx, 0x63c
lea eax, [esp + 0x70]
push eax
add ecx, dword [0x4529a4]
call fcn.00410ae0
mov dx, word [0x441184]
mov al, 0x6f
mov cl, 0x6b
mov byte [esp + 0x19a], al
mov byte [esp + 0x19e], cl
mov byte [esp + 0x1a2], al
mov byte [esp + 0x1a4], al
mov byte [esp + 0x1a6], cl
mov ecx, dword [str.Excel]
lea eax, [esp + 0x298]
mov dword [esp + 0x180], 3
mov dword [esp + 0x178], 4
mov dword [esp + 0x78], ebp
mov byte [esp + 0x198], 0x57
mov byte [esp + 0x199], bl
mov byte [esp + 0x19b], bl
mov byte [esp + 0x19c], 0x72
mov byte [esp + 0x19d], bl
mov byte [esp + 0x19f], bl
mov byte [esp + 0x1a0], 0x62
mov byte [esp + 0x1a1], bl
mov byte [esp + 0x1a3], bl
mov byte [esp + 0x1a5], bl
mov byte [esp + 0x1a7], bl
mov dword [esp + 0x698], 0x10
mov dword [esp + 0x184], 0x9d0
mov dword [esp + 0x298], ecx
mov word [esp + 0x29c], dx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414ed2
sub eax, esi
mov dword [esp + 0x69c], eax
lea eax, [esp + 0x398]
push 0x441174
mov esi, 0x7e8
push eax
mov dword [esp + 0x190], esi
call fcn.0042364f
lea eax, [esp + 0x2a0]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414f10
sub eax, edx
lea ecx, [eax + eax]
push str..xls
mov dword [esp + 0x6a4], ecx
mov dword [esp + 0x190], esi
call fcn.00422ed7
add esp, 4
push eax
push str..xls
lea ecx, [esp + 0x78]
call fcn.0040eed0
mov esi, dword [0x4529a8]
cmp esi, ebx
jge 0x414f55
jmp fcn.004303ce
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
mov ecx, 0x4529a0
call fcn.0040ff60
mov ebp, dword [0x4529a4]
mov ecx, esi
imul ecx, ecx, 0x63c
lea eax, [esp + 0x70]
push eax
add ecx, ebp
call fcn.00410ae0
mov eax, 2
push str..jpg
mov dword [esp + 0x184], 1
mov dword [esp + 0x17c], eax
mov word [esp + 0x7c], 0xd8ff
mov word [esp + 0x19c], 0xd9ff
mov dword [esp + 0x69c], eax
mov dword [esp + 0x188], eax
call fcn.00422ed7
add esp, 4
push eax
push str..jpg
lea ecx, [esp + 0x78]
call fcn.0040eed0
mov esi, dword [0x4529a8]
cmp esi, ebx
jge 0x414fe0
jmp fcn.004303ce
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
mov ecx, 0x4529a0
call fcn.0040ff60
mov ebp, dword [0x4529a4]
mov ecx, esi
imul ecx, ecx, 0x63c
lea edx, [esp + 0x70]
push edx
add ecx, ebp
call fcn.00410ae0
push str..jpeg
call fcn.00422ed7
add esp, 4
push eax
push str..jpeg
lea ecx, [esp + 0x78]
call fcn.0040eed0
mov esi, dword [0x4529a8]
cmp esi, ebx
jge 0x415035
jmp fcn.004303ce
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
mov ecx, 0x4529a0
call fcn.0040ff60
mov eax, dword [0x4529a4]
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
imul ecx, ecx, 0x63c
add ecx, eax
call fcn.00410ae0
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0x6b8], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x415083
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x58]
mov dword [esp + 0x6b8], 0xffffffff
call fcn.00437576
mov ecx, dword [esp + 0x6b0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x6a0]
pop ebx
call fcn.00422295
add esp, 0x6ac
ret