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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc88
push ebx
push ebp
push esi
push edi
mov ebp, ecx
lea eax, [esp + 0x18]
xor esi, esi
mov dword [ebp + 0xb8], esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x6f524c], esi
mov dword [esp + 0x20], eax
je 0x41fa30
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0047cfb0
jmp 0x41fa38
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
cmp byte [ebp + 0x12], 0
je 0x41fa48
cmp byte [ebp + 0x11], 0
jne 0x41fb32
mov eax, dword [ebp + 0x50]
cmp eax, esi
je 0x41fa54
lea ecx, [eax + 4]
jmp 0x41fa56
xor ecx, ecx
push str..picasa.ini
lea edx, [esp + 0x58]
push edx
call fcn.0041daf0
push 1
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], vtable.ytPicasaINIFile.0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
call fcn.0048cd40
cmp byte [ebp + 0x12], 0
jne 0x41fa9b
lea eax, [ebp + 0x10]
push eax
lea eax, [esp + 0x58]
call fcn.0041f100
test al, al
je 0x41fa9b
mov byte [ebp + 0x12], 1
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x41fad4
cmp dword [eax], esi
je 0x41fad4
lea ecx, [esp + 0x54]
call fcn.0041dc60
cmp dword [0x6f524c], esi
je 0x41fac7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.0047d2c0
mov eax, 0xf4242
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x11], 0
jne 0x41faf4
lea eax, [esp + 0x54]
push eax
lea ecx, [ebp + 0x10]
push ecx
call fcn.0041f170
test al, al
mov eax, dword [esp + 0x1c]
je 0x41faf4
mov byte [ebp + 0x11], 1
cmp eax, esi
je 0x41fb29
cmp dword [eax], esi
je 0x41fb29
lea ecx, [esp + 0x54]
call fcn.0041dc60
cmp dword [0x6f524c], esi
je 0x41fb1c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.0047d2c0
mov eax, 0xf4242
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x54]
call fcn.0041dc60
cmp byte [ebp + 0x10], 0
jne 0x4201e2
xor edi, edi
cmp dword [ebp + 0xa0], edi
je 0x41fbd3
lea esi, [esp + 0x1d8]
call fcn.0047d920
lea ebx, [ebp + 0x64]
lea eax, [ebp + 0x90]
mov byte [esp + 0x204], 1
call fcn.00479500
push edi
mov eax, 0x50
lea ecx, [esp + 0x34]
push ecx
mov edx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
push edx
mov eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call fcn.0047e8d0
mov esi, eax
cmp esi, edi
lea edi, [esp + 0x1d8]
je 0x41fbc5
call fcn.00403660
cmp dword [0x6f524c], 0
je 0x41fbbb
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.0047d2c0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebp + 0x10], 1
call fcn.00403660
jmp 0x4201bf
mov eax, dword [ebp + 8]
cmp eax, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], edi
jne 0x41fc5d
lea esi, [esp + 0x40]
call fcn.0046b9c0
fild dword [eax]
fstp dword [esp + 0x30]
fild dword [eax + 4]
fstp dword [esp + 0x34]
fild dword [eax + 8]
fstp dword [esp + 0x38]
fild dword [eax + 0xc]
fstp dword [esp + 0x3c]
fld dword [esp + 0x38]
fsub dword [esp + 0x30]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fld qword [0x6c1068]
fsub st(1), st(0)
fxch st(1)
call fcn.0066a3f0
fld dword [esp + 0x3c]
fsub dword [esp + 0x34]
xor edx, edx
cmp eax, edi
setle dl
fstp dword [esp + 0x14]
fsubr dword [esp + 0x14]
sub edx, 1
and edx, eax
mov dword [esp + 0x40], edx
call fcn.0066a3f0
xor ecx, ecx
cmp eax, edi
setle cl
sub ecx, 1
and ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x41fc6e
cmp eax, edi
jne 0x41fc6e
mov eax, 0x50
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], eax
lea edx, [esp + 0x24]
lea eax, [ebp + 0x50]
push edx
push eax
lea edi, [esp + 0x278]
call fcn.00409600
call fcn.0045c2a0
mov ecx, edi
call fcn.00401770
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41fd3c
lea edi, [eax + 4]
mov edx, edi
mov esi, str.Originals
cmp edx, esi
je 0x41fd43
test edx, edx
je 0x41fced
mov cl, byte [edx]
test cl, cl
je 0x41fce3
mov al, byte [esi]
cmp al, 0x41
jl 0x41fcc3
cmp al, 0x5a
jg 0x41fcc3
add al, 0x20
cmp cl, 0x41
jl 0x41fcd0
cmp cl, 0x5a
jg 0x41fcd0
add cl, 0x20
cmp al, cl
jl 0x41fced
jg 0x41fced
add esi, 1
add edx, 1
cmp byte [esi], 0
jne 0x41fcb1
jmp 0x41fce8
cmp byte [esi], 0
jne 0x41fced
cmp byte [edx], 0
je 0x41fd43
mov esi, edi
mov edx, str..picasaoriginals
cmp esi, edx
je 0x41fd43
test esi, esi
je 0x41fd3c
lea esp, [esp]
mov cl, byte [esi]
test cl, cl
je 0x41fd32
mov al, byte [edx]
cmp al, 0x41
jl 0x41fd12
cmp al, 0x5a
jg 0x41fd12
add al, 0x20
cmp cl, 0x41
jl 0x41fd1f
cmp cl, 0x5a
jg 0x41fd1f
add cl, 0x20
cmp al, cl
jl 0x41fd3c
jg 0x41fd3c
add edx, 1
add esi, 1
cmp byte [edx], 0
jne 0x41fd00
jmp 0x41fd37
cmp byte [edx], 0
jne 0x41fd3c
cmp byte [esi], 0
je 0x41fd43
mov byte [esp + 0x13], 0
jmp 0x41fd48
mov byte [esp + 0x13], 1
fld dword [ebp + 0x40]
or edi, 0xffffffff
fld dword [ebp + 0x38]
mov esi, edi
fcompp
mov dword [esp + 0x34], edi
mov ebx, edi
fnstsw ax
test ah, 0x41
jne 0x41fd9d
fld dword [ebp + 0x44]
fld dword [ebp + 0x3c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41fd9d
fld dword [ebp + 0x40]
call fcn.0066a3f0
fld dword [ebp + 0x44]
mov esi, eax
call fcn.0066a3f0
fld dword [ebp + 0x38]
mov edi, eax
call fcn.0066a3f0
fld dword [ebp + 0x3c]
mov ebx, eax
call fcn.0066a3f0
mov dword [esp + 0x34], edi
mov edi, eax
lea ecx, [esp + 0x28]
call fcn.0043d080
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x30]
push ecx
lea eax, [ebp + 0x64]
push eax
lea edx, [esp + 0x80]
push edx
call fcn.0041d430
mov eax, dword [ebp + 8]
test eax, eax
je 0x41fdda
cmp eax, 1
mov byte [esp + 0x165], 0
jne 0x41fde2
mov byte [esp + 0x165], 1
mov cl, byte [ebp + 0x12]
test cl, cl
jne 0x41fdf1
or dword [esp + 0x18c], 0x40
cmp eax, 2
jne 0x41fe6b
test cl, cl
mov byte [esp + 0x168], 1
je 0x41fe4e
movsx eax, cl
sub eax, 1
je 0x41fe32
sub eax, 1
je 0x41fe28
sub eax, 1
je 0x41fe1e
mov dword [esp + 0x14], 1
jmp 0x41fe3a
mov dword [esp + 0x14], 8
jmp 0x41fe3a
mov dword [esp + 0x14], 3
jmp 0x41fe3a
mov dword [esp + 0x14], 6
lea eax, [esp + 0x14]
push eax
push 0xd
lea ecx, [esp + 0x198]
push ecx
call fcn.00426320
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x41fe63
test dword [eax], 0xffffff00
je 0x41fe63
cmp byte [eax + 4], 0
jne 0x41fe6b
or dword [esp + 0x18c], 1
cmp byte [esp + 0x13], 0
jne 0x41fee9
cmp esi, 0xffffffff
mov eax, dword [esp + 0x34]
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], edi
jne 0x41fea8
cmp ebx, esi
jne 0x41fea8
cmp edi, esi
jne 0x41fea8
cmp eax, esi
jne 0x41fea8
lea eax, [ebp + 0x38]
jmp 0x41fec2
fld dword [0x6c0e68]
lea eax, [esp + 0x30]
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fstp dword [esp + 0x3c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14c], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], eax
cmp byte [esp + 0x165], 0
jne 0x41ff07
cmp dword [ebp + 0x28], 0xff
jne 0x41ff07
or dword [esp + 0x18c], 0x100
mov eax, dword [ebp + 0x50]
test eax, eax
mov dword [esp + 0x50], 0
je 0x41ff1b
add eax, 4
jmp 0x41ff1d
xor eax, eax
lea ecx, [esp + 0x50]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.00405810
mov esi, eax
test esi, esi
mov dword [ebp + 0xb8], esi
je 0x41ff75
lea ebx, [esp + 0x70]
call fcn.00420210
lea ecx, [esp + 0x28]
call fcn.00477330
lea edi, [esp + 0x24]
call fcn.00401700
cmp dword [0x6f524c], 0
je 0x41ff6b
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.0047d2c0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41ffb3
cmp dword [eax], 0
je 0x41ffb3
lea ebx, [esp + 0x70]
call fcn.00420210
lea ecx, [esp + 0x28]
call fcn.00477330
lea edi, [esp + 0x24]
call fcn.00401700
lea eax, [esp + 0x18]
call fcn.00402a90
mov eax, 0xf4242
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x12], 0
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], edx
jne 0x420016
lea eax, [esp + 0x40]
mov ebx, 0xd
lea edi, [esp + 0x190]
call fcn.004da660
test eax, eax
jne 0x420012
mov eax, dword [esp + 0x40]
sub eax, 3
je 0x42000b
sub eax, 3
je 0x420002
sub eax, 2
jne 0x420012
mov dword [ebp + 0x18], 3
jmp 0x420012
mov dword [ebp + 0x18], 1
jmp 0x420012
mov dword [ebp + 0x18], 2
mov byte [ebp + 0x12], 1
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp + 0x64]
call fcn.0041e0a0
mov esi, eax
add esp, 4
test esi, esi
mov dword [ebp + 0xb8], esi
je 0x42005f
lea ebx, [esp + 0x70]
call fcn.00420210
lea ecx, [esp + 0x28]
call fcn.00477330
lea edi, [esp + 0x24]
call fcn.00401700
lea eax, [esp + 0x18]
call fcn.00402a90
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x420070
cmp dword [eax], 0
jne 0x41ff82
cmp dword [ebp + 0x28], 0xff
jne 0x420088
lea eax, [esp + 0x190]
call fcn.004db260
mov dword [ebp + 0x28], eax
cmp byte [esp + 0x165], 0
jne 0x4200a5
cmp dword [esp + 0x2c], 0
jne 0x4200a5
mov eax, dword [ebp + 0x28]
lea ecx, [esp + 0x28]
call fcn.004773e0
cmp byte [esp + 0x13], 0
jne 0x4200d9
lea ecx, [esp + 0x28]
push ecx
lea eax, [ebp + 0x10]
call fcn.0041e310
mov esi, eax
test esi, esi
mov dword [ebp + 0xb8], esi
jne 0x420031
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4200d9
cmp dword [eax], esi
jne 0x41ff82
lea edx, [esp + 0x28]
push edx
push 0x80
lea eax, [ebp + 0x64]
push eax
call fcn.0047c650
cmp byte [ebp + 0x16], 0
je 0x42014c
push 0
push 0
xor ecx, ecx
lea esi, [esp + 0x1b8]
call fcn.00479300
mov eax, esi
push eax
mov eax, str.adorners_star
call fcn.0040d220
sub esp, 0xc
mov eax, esp
or ecx, 0xffffffff
mov dword [eax], ecx
or edx, ecx
or esi, ecx
or edi, ecx
mov dword [eax + 4], edx
lea ecx, [esp + 0x1c0]
mov dword [eax + 8], esi
push ecx
mov dword [eax + 0xc], edi
push 0xff
lea eax, [ebp + 0x64]
push eax
call fcn.0047b120
lea eax, [esp + 0x1b0]
call fcn.00479430
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42015d
cmp dword [eax], 0
jne 0x41ff82
lea esi, [ebp + 0x48]
mov eax, esi
call fcn.0041abc0
test al, al
jne 0x42018c
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x420177
lea ecx, [eax + 4]
jmp 0x420179
xor ecx, ecx
lea eax, [esp + 0x40]
call fcn.00489f20
mov edx, dword [eax]
mov dword [esi], edx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
lea ebx, [ebp + 0x60]
mov edi, 0xd3
lea esi, [esp + 0x190]
call fcn.004da610
lea ebx, [esp + 0x70]
mov byte [ebp + 0x10], 1
call fcn.00420210
lea ecx, [esp + 0x28]
call fcn.00477330
lea edi, [esp + 0x24]
call fcn.00401700
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4201e6
cmp dword [eax], 0
je 0x4201e6
lea eax, [esp + 0x18]
call fcn.00402a90
mov eax, 0xf4242
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
cmp dword [0x6f524c], 0
mov ebp, dword [ebp + 0xb8]
je 0x420200
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.0047d2c0
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret