Function at 0x439730
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x4c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x64]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
push edi
mov edi, ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
call dword [sym.imp.PlatformData.dll_public:_static_class_CGlobalUserInfo____cdecl_CGlobalUserInfo::GetInstance_void_]
mov ebx, eax
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov ecx, ebx
mov dword [esp + 0x30], eax
call dword [sym.imp.PlatformData.dll_public:_struct_tagGlobalUserData____thiscall_CGlobalUserInfo::GetGlobalUserData_void_]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
shr eax, 6
and al, 1
mov byte [esp + 0x13], 0
mov byte [esp + 0x68], al
je 0x4397a0
cmp word [edi + 0x14], 0
je 0x4397a0
push 0xcc0020
push 0
push ebp
jmp 0x4397b6
mov cl, byte [edi + 9]
xor edx, edx
cmp cl, 1
setne dl
push 0xcc0020
push 0
dec edx
and edx, ebp
push edx
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x6c]
mov ecx, dword [ebx + 4]
push eax
push ebp
push 0
push 0
push ecx
lea ecx, [esi + 0x1c84]
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CBitImage::BitBlt_struct_HDC_____int__int__int__int__int__int__unsigned_long_int_]
cmp word [edi + 0x16], 0
mov dword [esp + 0x18], 0
jbe 0x439cc5
jmp 0x4397f0
movzx ebp, word [esp + 0x18]
mov edx, ebp
shl edx, 4
lea eax, [edx + esi + 0xe58]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0xc]
cmp byte [esi + 0x1d], 1
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
jne 0x439894
lea ecx, [esi + 0x183c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::IsNull_void_]
test al, al
jne 0x439894
mov al, byte [edi + 9]
xor ecx, ecx
cmp al, 1
jne 0x439840
mov ecx, 1
mov dx, word [edi + 6]
cmp dx, 0x64
jne 0x43986f
test al, al
jne 0x439859
cmp byte [edi + 4], 1
jne 0x439859
mov ecx, 2
cmp dx, 0x64
jne 0x43986f
test al, al
jne 0x43986f
mov al, byte [edi + 4]
test al, al
jne 0x43986f
mov ecx, 3
mov eax, dword [esi + 0x14]
mov edx, eax
imul edx, ecx
mov ecx, dword [esi + 0x18]
push 0
push edx
push ecx
mov ecx, dword [esi + 0x38]
push eax
mov eax, dword [esi + 0x3c]
push eax
push ecx
push ebx
lea ecx, [esi + 0x183c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov al, byte [esp + 0x68]
cmp al, 1
jne 0x4398dd
cmp byte [esi + 0x1e], al
jne 0x4398dd
cmp word [edi + 0x14], 0
jne 0x4398dd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, ebp
imul edx, eax
push 0xcc0020
push 0
push edx
mov edx, dword [esp + 0x5c]
push ecx
mov ecx, dword [ebx + 4]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
lea ecx, [esi + 0x1a4c]
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CBitImage::BitBlt_struct_HDC_____int__int__int__int__int__int__unsigned_long_int_]
mov al, byte [esp + 0x68]
cmp byte [esi + 0x1c], 1
jne 0x439cb2
test al, al
jne 0x439e5a
mov edx, dword [esp + 0x14]
mov edi, dword [edx + ebp*4 + 0x18]
test edi, edi
je 0x439cae
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + ebp*4 + 0x18]
mov edx, dword [ecx]
call dword [edx + 0x24]
mov ecx, dword [esp + 0x1c]
cmp eax, dword [ecx]
jne 0x439920
mov byte [esp + 0x13], 1
mov al, byte [esi + 0x21]
test al, al
jne 0x439c3b
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x20]
mov ecx, dword [esi + ebp*8 + 0x36c]
mov bl, al
mov eax, dword [esi + ebp*8 + 0x368]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x2548]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x254c]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 0x20], eax
call dword [edx + 0xc]
mov dl, byte [eax + 0xd9]
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dl, 5
mov edx, dword [esi + ebp*4 + 0x688]
setne cl
dec ecx
and ecx, 4
add ecx, edx
movzx edx, bl
lea ebx, [ecx + edx*8]
mov ecx, dword [eax + ebp*4 + 0x18]
test ecx, ecx
je 0x4399c1
mov ecx, eax
mov ecx, dword [ecx + ebp*4 + 0x18]
mov edx, dword [ecx]
call dword [edx + 0x5c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
jmp 0x4399c9
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ecx, eax
or ecx, edx
jne 0x4399dc
mov dword [esp + 0x64], 0
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x4399ea
test eax, eax
jb 0x439a08
test edx, edx
jg 0x439bf9
jl 0x4399fb
cmp eax, 0x3e8
jae 0x439a19
mov dword [esp + 0x64], 0
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439a19
cmp eax, 0x3e8
jb 0x439a37
test edx, edx
jg 0x439bf9
jl 0x439a2a
cmp eax, 0x2710
jae 0x439a48
mov dword [esp + 0x64], 1
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439a48
cmp eax, 0x2710
jb 0x439a66
test edx, edx
jg 0x439bf9
jl 0x439a59
cmp eax, 0x186a0
jae 0x439a77
mov dword [esp + 0x64], 2
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439a77
cmp eax, 0x186a0
jb 0x439a95
test edx, edx
jg 0x439bf9
jl 0x439a88
cmp eax, 0x7a120
jae 0x439aa6
mov dword [esp + 0x64], 3
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439aa6
cmp eax, 0x7a120
jb 0x439ac4
test edx, edx
jg 0x439bf9
jl 0x439ab7
cmp eax, 0xf4240
jae 0x439ad5
mov dword [esp + 0x64], 4
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439ad5
cmp eax, 0xf4240
jb 0x439af3
test edx, edx
jg 0x439bf9
jl 0x439ae6
cmp eax, 0x2625a0
jae 0x439b04
mov dword [esp + 0x64], 5
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439b04
cmp eax, 0x2625a0
jb 0x439b22
test edx, edx
jg 0x439bf9
jl 0x439b15
cmp eax, 0x4c4b40
jae 0x439b33
mov dword [esp + 0x64], 6
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439b33
cmp eax, 0x4c4b40
jb 0x439b51
test edx, edx
jg 0x439bf9
jl 0x439b44
cmp eax, 0x989680
jae 0x439b62
mov dword [esp + 0x64], 7
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439b62
cmp eax, 0x989680
jb 0x439b80
test edx, edx
jg 0x439bf9
jl 0x439b73
cmp eax, 0xe4e1c0
jae 0x439b8d
mov dword [esp + 0x64], 8
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439b8d
cmp eax, 0xe4e1c0
jb 0x439ba4
test edx, edx
jg 0x439bf9
jl 0x439b9a
cmp eax, 0x17d7840
jae 0x439bb1
mov dword [esp + 0x64], 9
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439bb1
cmp eax, 0x17d7840
jb 0x439bc8
test edx, edx
jg 0x439bf9
jl 0x439bbe
cmp eax, 0x2faf080
jae 0x439bd5
mov dword [esp + 0x64], 0xa
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439bd5
cmp eax, 0x2faf080
jb 0x439bec
test edx, edx
jg 0x439bf9
jl 0x439be2
cmp eax, 0x5f5e100
jae 0x439bf9
mov dword [esp + 0x64], 0xb
jmp 0x439c01
test edx, edx
jl 0x439c01
jg 0x439bf9
cmp eax, 0x5f5e100
jb 0x439c01
mov dword [esp + 0x64], 0xc
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x24]
imul edx, ecx
imul ebx, eax
push 0xff00ff
push edx
mov edx, dword [esp + 0x68]
push ebx
push ecx
mov ecx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
push edx
lea ecx, [esi + 0x253c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CBitImage::TransDrawImage_class_CDC___int__int__int__int__int__int__unsigned_long_int_]
mov ebx, dword [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x50]
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 0x2c], eax
call dword [edx + 0x54]
mov cx, word [esp + 0x2c]
mov edx, dword [esp + 0x14]
cmp cx, word [edx + 0x14]
jne 0x439c8e
cmp ax, word [esp + 0x18]
jne 0x439c8e
mov eax, edx
mov cl, byte [eax + 9]
test cl, cl
jne 0x439c8e
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x58]
cmp al, 3
jne 0x439c8e
mov eax, dword [esi + ebp*8 + 0x4c]
mov ecx, dword [esi + ebp*8 + 0x48]
push eax
push ecx
push ebx
lea ecx, [esi + 0x29ac]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int_]
mov edx, dword [edi]
push esi
mov ecx, edi
call dword [edx + 0x48]
mov ecx, edi
push eax
mov eax, dword [edi]
call dword [eax + 0x30]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push ebx
call fcn.004385a0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
inc eax
cmp ax, word [edi + 0x16]
mov dword [esp + 0x18], eax
jb 0x4397f0
cmp byte [edi + 8], 1
jne 0x439ce0
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
push edx
push eax
push ebx
lea ecx, [esi + 0x2bbc]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int_]
cmp byte [esi + 0x22], 1
jne 0x439e18
mov edi, dword [sym.imp.WHImage.dll_public:_int___thiscall_CPngImage::GetHeight_void_]
lea ebp, [esi + 0x2fdc]
mov ecx, ebp
call edi
mov ecx, ebp
mov dword [esp + 0x2c], eax
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CPngImage::GetWidth_void_]
lea ebx, [esi + 0x2dcc]
mov ecx, ebx
mov dword [esp + 0x44], eax
call edi
mov ecx, ebx
mov dword [esp + 0x64], eax
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CPngImage::GetWidth_void_]
mov ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 2
mov edi, edx
xor eax, eax
mov ax, word [ecx + 0x14]
shr edi, 0x1f
add edi, edx
inc ax
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
nop
movzx edx, ax
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
inc ecx
test ax, ax
ja 0x439d50
mov eax, dword [esp + 0x2c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x44]
sub ecx, eax
mov eax, dword [esp + 0x44]
cdq
sub eax, edx
mov edx, dword [esi + 0x40]
sar eax, 1
push ecx
sub edx, eax
mov eax, dword [esp + 0x64]
push edx
push eax
mov ecx, ebp
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int_]
mov eax, dword [esp + 0x64]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esi + 0x44]
sar ecx, 1
sub eax, ecx
movzx ecx, word [esp + 0x68]
mov dword [esp + 0x2c], eax
mov eax, edi
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [esi + 0x40]
mov ebp, eax
sar ebp, 1
sub ebp, edi
add ebp, edx
test ecx, ecx
jle 0x439e18
mov dword [esp + 0x68], ecx
lea ecx, [ecx]
movzx eax, word [esp + 0x18]
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [esp + 0x2c]
push 0
movzx edx, dx
imul edx, edi
push edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x6c]
push eax
push edi
push ecx
push ebp
push edx
mov ecx, ebx
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
sub ebp, edi
dec eax
mov dword [esp + 0x68], eax
jne 0x439dd0
cmp byte [esi + 0x20], 1
pop edi
pop esi
pop ebp
pop ebx
jne 0x439e54
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x18], 1
jne 0x439e54
cmp byte [esp + 3], 1
jne 0x439e54
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
push 0x7d7d7d
push 0x7d7d7d
push edx
push eax
push 0
push 0
call sub.MFC71U.DLL_COleControl::XViewObject::Draw
add esp, 0x4c
ret 0xc
cmp al, 1
jne 0x439cb2
mov dx, word [edi + 0x14]
test dx, dx
jbe 0x439f34
mov al, byte [esi + 0x21]
test al, al
jne 0x439edd
call dword [sym.imp.AvatarControl.dll_public:_static_class_CFaceItemControl____cdecl_CFaceItemControl::GetInstance_void_]
mov edi, eax
mov eax, dword [edi]
mov edx, eax
mov ecx, edi
mov dword [esp + 0x2c], eax
call dword [edx + 8]
mov ecx, dword [esp + 0x14]
movzx ebx, ax
movzx eax, word [ecx + 0x16]
movzx ecx, word [ecx + 0x14]
imul eax, ecx
add eax, ebp
cdq
idiv ebx
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
sub eax, ecx
sub eax, 0x30
mov ebx, dword [esp + 0x60]
push edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x5c]
sub eax, ecx
sub eax, 0x30
cdq
sub eax, edx
sar eax, 1
add eax, ecx
push eax
mov eax, dword [esp + 0x38]
push ebx
mov ecx, edi
call dword [eax + 0x24]
jmp 0x439f30
movzx edi, word [edi + 0x16]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
movzx edx, dx
imul edx, edi
sub eax, ecx
mov ecx, ebp
add edx, ebp
imul ecx, eax
and edx, 0x80000001
jns 0x439f05
dec edx
or edx, 0xfffffffe
inc edx
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
jne 0x439f15
mov ebp, edx
sub ebp, edi
jmp 0x439f17
xor ebp, ebp
push ebp
push ecx
sub edx, edi
push edx
push eax
mov eax, dword [esp + 0x5c]
push edi
push eax
push ebx
lea ecx, [esi + 0x20f4]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov edi, dword [esp + 0x14]
cmp word [edi + 0x14], 0
mov eax, 0x4522c8
je 0x439f45
mov eax, 0x4522bc
mov ecx, dword [esp + 0x18]
push esi
push 0
push eax
push ecx
push ebx
mov ecx, edi
call fcn.004385a0
jmp 0x439cb2