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

Disassembly:
push 0xffffffffffffffff
push 0x10185e54
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x89c
push ebx
push ebp
push esi
push edi
xor esi, esi
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xa0]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x3c], esi
rep stosd dword es:[edi], eax
mov ecx, 7
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov ecx, 0xf
lea edi, [esp + 0x60]
mov dword [esp + 0x5c], esi
push 0xad74
rep stosd dword es:[edi], eax
mov dword [esp + 0x2c], esi
call fcn.10173930
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x8b4], esi
je 0x100402dc
push 0x10017890
push 0x1002a820
lea edi, [eax + 4]
push 0x1e
push 0x5c8
push edi
mov dword [eax], 0x1e
call fcn.100ca8e7
mov dword [esp + 0x1c], edi
jmp 0x100402e0
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x1c]
or ebx, 0xffffffff
cmp edi, esi
mov dword [esp + 0x8b4], ebx
je 0x10040aee
mov ecx, 0x2b5c
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x8bc]
push eax
call fcn.100163f0
mov ebp, eax
add esp, 4
cmp ebp, esi
mov dword [esp + 0x10], ebp
je 0x10040aee
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xde]
mov word [esp + 0xdc], si
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xdc]
push 0x103
push ecx
push ebp
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_GetClassNameW]
lea edx, [esp + 0xdc]
push str.DingAloneChatWnd
push edx
mov dword [esp + 0x1c], esi
call fcn.100ca4ff
add esp, 8
test eax, eax
jne 0x100403b9
push 5
push esi
push 6
push 0x101c7108
push 5
lea eax, [esp + 0x28]
push 0x101c70f4
push eax
lea ecx, [esp + 0x78]
push 1
push ecx
push ebp
call fcn.100195a0
push 3
push esi
push 4
push 0x101c71f0
push 3
lea edx, [esp + 0x50]
push 0x101c71e0
push edx
lea eax, [esp + 0xc0]
push 1
push eax
push ebp
call fcn.100195a0
add esp, 0x50
jmp 0x1004078a
lea ecx, [esp + 0x9c]
push ecx
push ebp
call fcn.10016a30
add esp, 8
test eax, eax
je 0x10040aee
mov ecx, 0x172
xor eax, eax
lea edi, [esp + 0x2e4]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x2e4]
push 4
push edx
mov edx, dword [esp + 0xb8]
sub esp, 0x10
mov eax, esp
mov ebp, 1
mov dword [esp + 0x8cc], ebp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0xbc]
push eax
call fcn.10017080
mov ecx, dword [esp + 0x310]
add esp, 0x1c
cmp ecx, esi
je 0x10040abf
mov al, byte [0x101fb9b0]
test al, 1
jne 0x10040472
or al, 1
mov edx, 2
mov byte [0x101fb9b0], al
mov dword [0x101fba04], ecx
mov dword [0x101fba08], edx
mov dword [0x101fba0c], ebp
mov dword [0x101fba10], ebp
jmp 0x10040477
mov edx, 2
test al, 2
jne 0x10040560
or al, 2
mov dword [0x101c7284], ecx
mov byte [0x101fb9b0], al
mov dword [0x101c7288], ebx
mov dword [0x101c728c], ebx
mov dword [0x101c7290], ebx
mov dword [0x101c7294], esi
mov dword [0x101c7298], esi
mov dword [0x101c729c], esi
mov dword [0x101c72a0], esi
mov dword [0x101c72a4], edx
mov dword [0x101c72a8], edx
mov dword [0x101c72ac], ebx
mov dword [0x101c72b0], ebx
mov dword [0x101c72b4], ebx
mov dword [0x101c72b8], esi
mov dword [0x101c72bc], esi
mov dword [0x101c72c0], esi
mov dword [0x101c72c4], esi
mov dword [0x101c72c8], 3
mov dword [0x101c72cc], ebp
mov dword [0x101c72d0], ebx
mov dword [0x101c72d4], ebx
mov dword [0x101c72d8], ebx
mov dword [0x101c72dc], esi
mov dword [0x101c72e0], esi
mov dword [0x101c72e4], esi
mov dword [0x101c72e8], esi
mov dword [0x101c72ec], 4
mov dword [0x101c72f0], ebp
mov dword [0x101c72f4], ebx
mov dword [0x101c72f8], ebx
mov dword [0x101c72fc], ebx
mov dword [0x101c7300], esi
mov dword [0x101c7304], esi
mov dword [0x101c7308], esi
mov dword [0x101c730c], esi
push 4
push esi
push 4
push 0x101c7280
push 4
lea ecx, [esp + 0x28]
push 0x101fba04
push ecx
lea edx, [esp + 0x58]
push ebp
lea eax, [esp + 0xbc]
push edx
push eax
call fcn.10019700
mov eax, dword [0x10274670]
add esp, 0x28
cmp eax, esi
je 0x100405bc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push str.GetChatModeAndOppNameInternal_2_1__hwnd:__08x____08x____08x____d_
push str.DINGTALK
push ebx
push 0x10273ddc
call fcn.10119f10
add esp, 0x1c
cmp dword [esp + 0x14], esi
je 0x10040ad3
cmp dword [esp + 0x44], esi
je 0x10040ad3
mov eax, dword [esp + 0x898]
mov dword [esp + 0x8b4], ebx
cmp eax, esi
je 0x100405eb
push eax
call fcn.10173959
add esp, 4
push 7
push esi
push 7
push 0x101c7330
push 7
lea ecx, [esp + 0x28]
push 0x101c7310
push ecx
lea edx, [esp + 0x78]
push ebp
lea eax, [esp + 0x5c]
push edx
push eax
call fcn.10019700
mov ecx, 0x172
xor eax, eax
lea edi, [esp + 0x30c]
add esp, 0x28
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x2e4]
push 4
push ecx
mov ecx, dword [esp + 0x58]
sub esp, 0x10
mov edx, esp
mov edi, 2
mov dword [esp + 0x8cc], edi
mov dword [edx], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x5c]
push edx
call fcn.10017080
mov al, byte [0x101fb9b0]
mov ecx, dword [esp + 0x310]
add esp, 0x1c
test al, 4
jne 0x10040690
or al, 4
mov dword [0x101fba14], ecx
mov byte [0x101fb9b0], al
mov dword [0x101fba18], ebp
mov dword [0x101fba1c], ebp
test al, 8
jne 0x1004073f
or al, 8
mov dword [0x101c7434], ecx
mov byte [0x101fb9b0], al
mov dword [0x101c7438], ebx
mov dword [0x101c743c], ebx
mov dword [0x101c7440], ebx
mov dword [0x101c7444], esi
mov dword [0x101c7448], esi
mov dword [0x101c744c], esi
mov dword [0x101c7450], esi
mov dword [0x101c7454], edi
mov dword [0x101c7458], ebp
mov dword [0x101c745c], ebx
mov dword [0x101c7460], ebx
mov dword [0x101c7464], ebx
mov dword [0x101c7468], esi
mov dword [0x101c746c], esi
mov dword [0x101c7470], esi
mov dword [0x101c7474], esi
mov dword [0x101c7478], 3
mov dword [0x101c747c], ebp
mov dword [0x101c7480], ebx
mov dword [0x101c7484], ebx
mov dword [0x101c7488], ebx
mov dword [0x101c748c], esi
mov dword [0x101c7490], esi
mov dword [0x101c7494], esi
mov dword [0x101c7498], esi
push 3
push esi
push 3
push 0x101c7430
push 3
lea eax, [esp + 0x28]
push 0x101fba14
push eax
lea ecx, [esp + 0x98]
push ebp
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.10019700
mov eax, dword [esp + 0x8c0]
add esp, 0x28
cmp eax, esi
mov dword [esp + 0x8b4], ebx
je 0x10040786
push eax
call fcn.10173959
add esp, 4
mov ebp, dword [esp + 0x10]
cmp dword [0x10274670], esi
je 0x100407bc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x64]
push eax
push ecx
push edx
push str.GetChatModeAndOppNameInternal_2_2___08x____08x____d_
push str.DINGTALK
push ebx
push 0x10273ddc
call fcn.10119f10
add esp, 0x1c
cmp dword [esp + 0x14], esi
je 0x10040aee
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x10040aee
cmp dword [esp + 0x84], esi
je 0x10040aee
mov edx, dword [esp + 0x1c]
push ebx
push esi
push ebx
push 1
lea ecx, [esp + 0x20]
push 0x101c74a0
push ecx
push 0x1e
lea ecx, [esp + 0x34]
push edx
push ecx
mov ecx, dword [esp + 0x90]
push 1
sub esp, 0x10
mov dword [esp + 0x48], esi
mov edx, esp
mov dword [esp + 0x50], esi
push eax
mov dword [edx], ecx
mov ecx, dword [esp + 0xac]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xb0]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xb4]
mov dword [edx + 0xc], ecx
call fcn.10017c30
mov eax, dword [esp + 0x4c]
add esp, 0x3c
lea edx, [esp + 0x10]
mov ecx, 0x1e
push ebx
push esi
push ebx
push 1
push 0x101c74c8
push edx
lea edx, [eax + eax*8]
mov edi, eax
sub ecx, eax
mov dword [esp + 0x30], esi
lea eax, [eax + edx*4]
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea eax, [esp + 0x34]
push edx
mov edx, dword [esp + 0xac]
push eax
push 1
mov eax, dword [esp + 0xb8]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0xcc]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.10017c30
mov ecx, dword [esp + 0x4c]
mov eax, dword [0x10274670]
add esp, 0x3c
add edi, ecx
cmp eax, esi
mov dword [esp + 0x24], edi
je 0x100408df
mov edx, dword [esp + 0x1c]
push edi
push edx
push str.GetChatModeAndOppNameInternal_2_3___x____d_
push str.DINGTALK
push ebx
push 0x10273ddc
call fcn.10119f10
add esp, 0x18
cmp edi, esi
je 0x10040aee
xor eax, eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x38], eax
push ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [0x10274670], esi
je 0x10040941
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push str.GetChatModeAndOppNameInternal_2_4___d__d__d__d_
push str.DINGTALK
push ebx
push 0x10273ddc
call fcn.10119f10
add esp, 0x20
cmp edi, esi
mov dword [esp + 0x20], esi
jbe 0x10040a7f
mov eax, dword [esp + 0x1c]
lea ebp, [eax + 0x5c4]
mov ecx, dword [ebp - 0x5b8]
and ecx, 0x100000
cmp ecx, 0x100000
jne 0x10040a68
cmp dword [esp + 0x10], esi
jne 0x10040a1a
cmp dword [ebp - 0x5bc], 0x2b
jne 0x10040a1a
fild dword [ebp]
fild dword [esp + 0x30]
fld qword [0x101fb738]
fmul qword [0x10193b18]
fadd st(1)
fld st(2)
fcompp
fnstsw ax
test ah, 1
jne 0x10040a16
fld qword [0x101fb738]
fmul qword [0x10193b30]
fadd st(1)
fxch st(1)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
fstp st(0)
je 0x10040a1a
mov edx, dword [esp + 0x8c8]
mov edi, dword [esp + 0x8c4]
xor eax, eax
mov dword [esp + 0x10], 1
lea ecx, [edx + edx]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x8c4]
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x8c8]
lea ecx, [ebp - 0x5b0]
dec eax
push eax
push ecx
push edx
call fcn.100c9dc1
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, esi
jne 0x10040a7f
jmp 0x10040a64
fstp st(0)
fstp st(0)
cmp dword [esp + 0x18], esi
jne 0x10040a5c
cmp dword [ebp - 0x5bc], 0x2d
jne 0x10040a68
mov edi, dword [esp + 0x8c0]
lea eax, [ebp - 0x5b0]
push edi
push eax
call fcn.1003d4b0
add esp, 8
test eax, eax
je 0x10040a64
mov eax, dword [edi]
xor ecx, ecx
cmp eax, 1
mov dword [esp + 0x18], 1
sete cl
mov dword [edi], ecx
mov edi, dword [esp + 0x24]
cmp dword [esp + 0x10], esi
jne 0x10040a7f
jmp 0x10040a68
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add ebp, 0x5c8
inc eax
cmp eax, edi
mov dword [esp + 0x20], eax
jb 0x10040957
cmp dword [0x10274670], esi
je 0x10040aa9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push edx
push eax
push str.GetChatModeAndOppNameInternal_2_5___d____d_
push str.DINGTALK
push ebx
push 0x10273ddc
call fcn.10119f10
add esp, 0x18
cmp dword [esp + 0x18], esi
je 0x10040aee
cmp dword [esp + 0x10], esi
je 0x10040aee
mov dword [esp + 0x28], 1
jmp 0x10040aee
mov eax, dword [esp + 0x898]
mov dword [esp + 0x8b4], ebx
cmp eax, esi
je 0x10040aee
jmp 0x10040ae5
mov eax, dword [esp + 0x898]
mov dword [esp + 0x8b4], ebx
cmp eax, esi
je 0x10040aee
push eax
call fcn.10173959
add esp, 4
lea edi, [esp + 0x9c]
mov ebx, 2
push edi
call fcn.10016a10
add esp, 4
add edi, 0x20
dec ebx
jne 0x10040afa
lea edi, [esp + 0x5c]
mov ebx, 2
push edi
call fcn.10016a10
add esp, 4
add edi, 0x20
dec ebx
jne 0x10040b12
lea ecx, [esp + 0x3c]
push ecx
call fcn.10016a10
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, esi
je 0x10040b56
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x10017890
push edx
push 0x5c8
push eax
call fcn.100ca7f3
push esi
call fcn.10173959
add esp, 4
mov ecx, dword [esp + 0x8ac]
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x8a8
ret