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

Disassembly:
sub esp, 0x1e0
push ebx
push ebp
mov ebp, dword [esp + 0x1ec]
mov eax, dword [ebp + 0x119c]
xor ebx, ebx
cmp eax, ebx
push esi
push edi
mov dword [esp + 0x28], ebx
je 0x438f86
cmp dword [ebp + 0x144], ebx
je 0x438f86
push eax
call fcn.00415760
cmp eax, ebx
mov dword [esp + 0x14], eax
jbe 0x438f86
push ebx
push ebx
xor ecx, ecx
lea esi, [esp + 0x80]
call fcn.00479300
mov eax, str.ss_actions
call fcn.0046a5f0
mov eax, str.ss_statustext
call fcn.0046a5f0
fld dword [0x6a5f9c]
push ecx
fstp dword [esp]
push ebp
call fcn.0042f760
mov al, byte [ebp + 0x240]
cmp al, bl
mov byte [ebp + 0x1235], al
jne 0x438a1e
mov eax, ebp
call fcn.00432df0
mov ecx, dword [ebp + 0x144]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
push ebx
lea edx, [esp + 0x34]
push edx
call eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x30]
sub edx, dword [esp + 0x34]
push ebx
lea eax, [esp + 0x1c]
lea esi, [esp + 0xdc]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
call fcn.004793d0
lea ebx, [esp + 0x78]
call fcn.00479500
mov eax, esi
call fcn.00479430
mov eax, ebx
push eax
lea ecx, [esp + 0x34]
mov edx, ebp
call fcn.004b26e0
mov eax, dword [ebp + 0x119c]
call fcn.00415810
mov ecx, dword [esp + 0x14]
mov edi, eax
lea edx, [edi + ecx]
push 0
push 0
xor ecx, ecx
lea esi, [esp + 0x58]
mov dword [esp + 0x34], edx
call fcn.00479300
lea ecx, [esp + 0x170]
call fcn.00418260
lea esi, [ebp + 0x6a0]
xor edx, edx
mov eax, edi
div dword [esp + 0x14]
push esi
mov ebx, edx
call fcn.0041a310
push 0
push 0
lea ecx, [esp + 0x58]
push ecx
push eax
lea eax, [ebp + 0x248]
push eax
lea eax, [esp + 0x184]
call fcn.004227b0
cmp byte [esp + 0x173], 0
mov dword [ebp + 0x1238], eax
je 0x438b01
mov edx, edi
add edi, 1
cmp edx, dword [esp + 0x2c]
jb 0x438ab9
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push 1
push eax
lea esi, [esp + 0xb8]
call fcn.00479300
or edi, 0xffffffff
sub esp, 0x10
mov eax, esp
mov ecx, edi
mov dword [eax], ecx
mov edx, edi
mov esi, edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov esi, 0xff000000
lea ebx, [esp + 0xc0]
mov dword [eax + 0xc], edi
call fcn.004798e0
xor ebx, ebx
cmp dword [esp + 0x60], ebx
je 0x438c4a
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x80]
cmp eax, edx
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x5c]
jae 0x438b74
cmp ecx, esi
jb 0x438b7a
cmp eax, edx
ja 0x438b7a
cmp ecx, esi
jbe 0x438bc5
lea esi, [esp + 0xd8]
call fcn.0047d920
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
push ebx
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], ecx
push eax
mov ecx, esi
push ecx
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edx
call fcn.0047e8d0
mov edi, esi
call fcn.00403660
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x44]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edx
call fcn.00484be0
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
or ecx, 0xffffffff
sub esp, 0xc
mov dword [esp + 0x7c], eax
mov eax, esp
mov dword [eax], ecx
mov dword [esp + 0x78], edx
or edx, ecx
or esi, ecx
or edi, ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
lea ecx, [esp + 0xc0]
mov dword [eax + 0xc], edi
push ecx
lea edi, [esp + 0x64]
call fcn.0047aa80
jmp 0x438c50
mov dword [ebp + 0x1238], edi
mov eax, 0x2e0
call fcn.00457920
cmp eax, ebx
je 0x438d37
fld1
push ecx
lea edx, [esp + 0xb4]
fstp dword [esp]
push edx
lea edi, [esp + 0x80]
call fcn.0042fea0
mov ebx, eax
test ebx, ebx
je 0x438d35
mov eax, 0xc
mov edi, str.ss_transnode
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.00459750
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.0046a060
add esp, 8
lea edi, [esp + 0x14]
call fcn.00401700
mov esi, dword [ebp + 0x144]
mov edi, ebx
call fcn.0049b730
fld dword [0x6c0e68]
mov edi, dword [ebx + 0x264]
sub esp, 8
lea esi, [ebx + 0x264]
fstp dword [esp + 4]
call fcn.00495a20
mov edx, dword [edi]
push ecx
mov ecx, esi
fstp qword [esp]
call edx
push 0x20
call fcn.00608276
mov esi, eax
add esp, 4
test esi, esi
je 0x438d2c
call fcn.00495a20
fld qword [0x6a5f30]
fadd st(1), st(0)
mov eax, esi
fxch st(1)
fadd qword [0x6a5f28]
call fcn.00495bc0
fxch st(1)
mov dword [esi], vtable.SlideshowTransitionHandler.0
fstp qword [esi + 0x10]
mov dword [esi + 8], ebp
fstp dword [esi + 0x18]
jmp 0x438d2e
xor eax, eax
mov esi, ebx
call fcn.0049f920
xor ebx, ebx
mov eax, str.ss_sscaption
call fcn.0046a310
mov ebp, eax
cmp ebp, ebx
jne 0x438f30
mov eax, 0x350
call fcn.00457920
mov esi, eax
cmp esi, ebx
je 0x438d9f
xor eax, eax
mov edi, 0x67b348
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebx
call fcn.00459750
or ecx, 0xffffffff
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
or edx, ecx
mov dword [eax + 4], edx
or edi, ecx
or ebp, ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebp
push ebx
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x40], 1
call fcn.00413a40
mov ebp, eax
jmp 0x438da1
xor ebp, ebp
test byte [esp + 0x28], 1
je 0x438db1
lea edi, [esp + 0x14]
call fcn.00401700
mov eax, 0xc
mov edi, str.ss_sscaption
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebx
call fcn.00459750
cmp ebp, ebx
je 0x438dcf
lea ebx, [ebp + 4]
lea ecx, [esp + 0x14]
push ecx
push ebx
call fcn.0046a060
add esp, 8
lea edi, [esp + 0x14]
call fcn.00401700
mov edx, dword [ebp]
mov eax, dword [edx + 8]
push 0x1c
mov ecx, ebp
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x6c0e40]
lea ebx, [ebp + 4]
fst dword [esp + 4]
mov esi, ebx
fstp dword [esp]
call fcn.0042f720
fld dword [0x6c1550]
sub esp, 0xc
fstp dword [esp + 8]
fld1
fst dword [esp + 4]
fstp dword [esp]
call fcn.00415250
mov edx, dword [ebp]
mov eax, dword [edx + 4]
push str.Tahoma
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 8]
push 0x16
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 0x2c]
push 1
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
push 1
mov ecx, ebp
call eax
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
push 0xffffffffffffffff
mov ecx, ebp
call eax
mov eax, 0x2a4
call fcn.00457920
test eax, eax
je 0x438e85
mov esi, eax
call fcn.004307e0
mov edi, eax
jmp 0x438e87
xor edi, edi
mov esi, ebx
call fcn.0049b730
cmp byte [edi + 0x215], 1
mov eax, 7
je 0x438e9f
or dword [edi + 8], eax
or dword [edi + 8], eax
push 1
mov eax, edi
mov byte [edi + 0x215], 1
mov dword [edi + 0x27c], 0
call fcn.0049b480
fldz
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
lea eax, [esp + 0xe8]
fld dword [0x6c0e40]
fst dword [esp + 4]
fstp dword [esp]
call fcn.0040cd90
mov ebx, eax
xor eax, eax
call fcn.0040d050
fldz
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
lea eax, [esp + 0xe8]
fld dword [0x6c0e40]
fst dword [esp + 4]
fstp dword [esp]
call fcn.0040cd90
mov ebx, eax
xor eax, eax
call fcn.0040d080
mov ebx, dword [esp + 0x1f4]
lea edi, [ebx + 0x1ca8]
mov esi, ebp
call fcn.004b8420
jmp 0x438f37
mov ebx, dword [esp + 0x1f4]
mov esi, dword [ebx + 0x144]
lea edi, [ebp + 4]
call fcn.0049b730
mov edx, dword [edi]
mov eax, dword [edx + 0x6c]
mov ecx, edi
call eax
xor al, al
call fcn.0046be10
lea eax, [esp + 0xb0]
mov byte [ebx + 0x1234], 1
call fcn.00479430
lea ecx, [esp + 0x170]
call fcn.004182e0
lea eax, [esp + 0x50]
call fcn.00479430
lea eax, [esp + 0x78]
call fcn.00479430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e0
ret 4