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

Disassembly:
push 0xffffffffffffffff
push 0x3b573d11
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7e8
push ebx
mov ebx, dword [esp + 0x804]
push ebp
push esi
mov eax, dword [ebx + 0xc8]
push edi
mov edi, ecx
cmp eax, 2
mov dword [esp + 0x28], edi
jne 0x3b505c37
cmp dword [ebx + 0xa0], 1
jne 0x3b505c37
lea eax, [ebx + 0xd8]
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.3b543570
add esp, 8
add edi, 0x6c
xor esi, esi
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x804], esi
call fcn.3b52f720
push 0x5c
lea ecx, [esp + 0x14]
mov byte [esp + 0x804], 1
call fcn.3b533840
mov edx, dword [esp + 0x14]
cmp dword [edx - 8], esi
je 0x3b505bf2
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], esi
je 0x3b505bf2
mov ebp, dword [ebx + 0x7a4]
mov edi, dword [ebx + 0x7a0]
push ebp
push edi
push str.CTWMDocHelper::SetWaterMarkTileImg__ImgMetrics:__d__d_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
mov dword [esp + 0x70], ebp
call fcn.3b5446b0
fld qword [0x3b577650]
fsin
add esp, 0x18
fstp qword [esp + 0x1c]
fild dword [ebx + 0x7d8]
fld qword [esp + 0x1c]
fmul st(1)
call fcn.3b546600
fld qword [0x3b577650]
fcos
mov dword [esp + 0x30], eax
fmul st(1)
call fcn.3b546600
mov ecx, dword [ebx + 0x79c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x84], ecx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x5f2]
mov word [esp + 0x5f0], si
rep stosd dword es:[edi], eax
fstp st(0)
mov edx, dword [ebx + 0x798]
mov ecx, dword [esp + 0x10]
stosw word es:[edi], ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], edx
push eax
push ecx
push str._s_s.wmr
lea edx, [esp + 0x5fc]
push 0x103
push edx
mov dword [esp + 0x8c], 0xe806abd1
mov dword [esp + 0x600], esi
mov dword [esp + 0x90], 1
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x94], esi
call fcn.3b546627
lea eax, [esp + 0x604]
lea ecx, [esp + 0xa8]
push eax
push ecx
call fcn.3b546564
lea edx, [esp + 0x568]
push 0x3b5820fc
push edx
call fcn.3b546564
mov ebp, dword [esp + 0x830]
add esp, 0x24
mov eax, ebp
mov dword [esp + 0x38], esi
fld qword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], esi
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 8]
fabs
mov edx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
fstp qword [esp + 0x70]
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x28]
mov byte [esp + 0x800], 2
mov eax, dword [eax + 0x300]
xor ecx, ecx
cmp eax, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x6c], ecx
jle 0x3b505981
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x28]
mov eax, dword [0x3b599620]
add esi, dword [edx + 0x2fc]
test eax, eax
je 0x3b5057d5
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 4]
push edx
mov edx, dword [ebp]
push eax
mov eax, dword [esi + 0xc]
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 4]
push edx
mov edx, dword [esi]
push eax
push edx
push ecx
push str.CTWMDocHelper::SetWaterMarkTileImg_________n___d___rectBlock:__d__d__d__d___rectPage:__d__d__d__d_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x34
mov eax, dword [esi]
mov edi, dword [ebx + 0x7a8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add edi, eax
add edi, ecx
mov ecx, dword [esi + 4]
add edx, ecx
mov dword [esp + 0x5c], edi
add edx, dword [ebx + 0x7ac]
mov dword [esp + 0x60], edx
mov edx, dword [ebx + 0x7b0]
add eax, edx
mov edx, dword [esp + 0x30]
add eax, edx
mov edx, dword [ebx + 0x7b4]
add ecx, edx
mov edx, dword [esp + 0x34]
add ecx, edx
mov edx, dword [0x3b5821a0]
cmp edx, 1
mov edx, dword [ebp]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
jne 0x3b505856
cmp edi, edx
jl 0x3b50595b
cmp eax, dword [ebp + 8]
jg 0x3b50595b
mov edx, dword [esp + 0x60]
cmp edx, dword [ebp + 4]
jl 0x3b50595b
cmp ecx, dword [ebp + 0xc]
jle 0x3b50587d
jmp 0x3b50595b
cmp eax, edx
jl 0x3b50595b
cmp edi, dword [ebp + 8]
jg 0x3b50595b
cmp ecx, dword [ebp + 4]
jl 0x3b50595b
mov edx, dword [esp + 0x60]
cmp edx, dword [ebp + 0xc]
jg 0x3b50595b
cmp dword [esp + 0x48], edi
jle 0x3b505887
mov dword [esp + 0x48], edi
cmp dword [esp + 0x50], eax
jge 0x3b505891
mov dword [esp + 0x50], eax
cmp dword [esp + 0x4c], edx
jle 0x3b50589b
mov dword [esp + 0x4c], edx
cmp dword [esp + 0x54], ecx
jge 0x3b5058a5
mov dword [esp + 0x54], ecx
fild dword [esp + 0x58]
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
mov dword [esp + 0x28], eax
inc eax
fmul qword [esp + 0x74]
push eax
lea ecx, [esp + 0x40]
fiadd dword [esp + 0x64]
fstp dword [esp + 0x24]
fild dword [esp + 0x68]
fstp dword [esp + 0x28]
call fcn.3b506e30
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [edx + eax*8], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [0x3b599620]
test eax, eax
je 0x3b50595b
fld dword [esp + 0x20]
mov eax, dword [esp + 0x58]
sub esp, 8
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x70]
fstp qword [esp]
fld dword [esp + 0x24]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esi + 0xc]
push eax
mov eax, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edi
push edx
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push eax
push ecx
push 0
push str.CTWMDocHelper::SetWaterMarkTileImg_____Angle:__d___Diff:__d__d___t_t_t_t__rectBlock:__d__d__d__d___t_t_t_t__rectCur:__d__d__d__d___t_t_t_t__dwAlpha:__d___t_t_t_t__tmHeight:__d___t_t_t_t__Start:__f__f_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x54
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
inc ecx
add esi, 0x10
cmp ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x18], esi
jl 0x3b505789
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp edx, esi
mov dword [esp + 0x2c], edx
jne 0x3b505a62
cmp dword [0x3b599e48], esi
je 0x3b5059be
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [ebp]
push eax
push ecx
push edx
push str.CTWMDocHelper::SetWaterMarkTileImg_rectPage__d___d___d___d_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x20
cmp dword [ebp], esi
jne 0x3b505a1a
cmp dword [ebp + 8], esi
jne 0x3b505a1a
cmp dword [ebp + 4], esi
jne 0x3b505a1a
cmp dword [ebp + 0xc], esi
jne 0x3b505a1a
mov eax, dword [esp + 0x38]
mov byte [esp + 0x800], 1
cmp eax, esi
je 0x3b5059eb
push eax
call fcn.3b54606f
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x800], 0
call fcn.3b52fec0
lea ecx, [esp + 0x14]
mov dword [esp + 0x800], 0xffffffff
call fcn.3b52fec0
mov eax, 0xe8080000
jmp 0x3b505c3c
mov eax, dword [esp + 0x38]
mov byte [esp + 0x800], 1
cmp eax, esi
je 0x3b505a33
push eax
call fcn.3b54606f
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x800], 0
call fcn.3b52fec0
lea ecx, [esp + 0x14]
mov dword [esp + 0x800], 0xffffffff
call fcn.3b52fec0
mov eax, 0xe808201d
jmp 0x3b505c3c
lea eax, [edx*8]
mov dword [esp + 0x5ec], edx
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x579]
push eax
mov dword [esp + 0x28], eax
call fcn.3b546472
add esp, 4
cmp eax, esi
mov dword [esp + 0x18], eax
jne 0x3b505ad9
mov eax, dword [esp + 0x38]
mov byte [esp + 0x800], 1
cmp eax, esi
je 0x3b505aaa
push eax
call fcn.3b54606f
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x800], 0
call fcn.3b52fec0
lea ecx, [esp + 0x14]
mov dword [esp + 0x800], 0xffffffff
call fcn.3b52fec0
mov eax, 0xe8082017
jmp 0x3b505c3c
mov ecx, 0x15e
lea esi, [esp + 0x78]
mov edi, eax
lea edx, [eax + 0x578]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
xor ecx, ecx
test esi, esi
jle 0x3b505b1d
mov edi, dword [esp + 0x38]
inc ecx
add edx, 0xa8
cmp ecx, esi
mov edi, dword [edi + ecx*8 - 8]
mov dword [edx - 0xa8], edi
mov edi, dword [esp + 0x38]
mov edi, dword [edi + ecx*8 - 4]
mov dword [edx - 0xa4], edi
jl 0x3b505af6
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x48]
push ebp
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x818]
mov edx, dword [ecx + 0x310]
push eax
push edx
call fcn.3b502170
mov esi, eax
mov eax, dword [0x3b599e48]
add esp, 0x18
test eax, eax
je 0x3b505b69
push esi
push str.CTWMDocHelper::SetWaterMarkTileImg_SetWaterMark__08X_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x14
mov eax, dword [esp + 0x18]
push eax
call fcn.3b54606f
mov eax, dword [0x3b599620]
add esp, 4
test eax, eax
je 0x3b505bb0
mov ecx, dword [ebx + 0xd4]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push esi
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [ebp]
push eax
push ecx
push edx
push str.CTWMDocHelper::SetWaterMarkTileImg_____rectPage:__d__d__d__d___color:__08X___dwRet:__08X_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x28
mov eax, dword [esp + 0x38]
mov byte [esp + 0x800], 1
test eax, eax
je 0x3b505bc9
push eax
call fcn.3b54606f
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x800], 0
call fcn.3b52fec0
lea ecx, [esp + 0x14]
mov dword [esp + 0x800], 0xffffffff
call fcn.3b52fec0
mov eax, esi
jmp 0x3b505c3c
push str.CTWMDocHelper::SetWaterMarkTileImg_________Path_is_NULL_
push str.Helper
push 0xffffffffffffffff
push 0x3b5995b4
call fcn.3b5446b0
add esp, 0x10
lea ecx, [esp + 0x10]
mov byte [esp + 0x800], 0
call fcn.3b52fec0
lea ecx, [esp + 0x14]
mov dword [esp + 0x800], 0xffffffff
call fcn.3b52fec0
mov eax, 0xe808201e
jmp 0x3b505c3c
mov eax, 0xe8080003
mov ecx, dword [esp + 0x7f8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x7f4
ret 0xc