Function at 0x436a90
Capabilities:
Access peb ldr_data
Enumerate pe sections
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x440c19
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
mov eax, dword [0x4571d4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
mov ebp, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov ebx, ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 4]
push edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], edx
call dword [sym.imp.PlatformData.dll_public:_static_class_CGlobalUserInfo____cdecl_CGlobalUserInfo::GetInstance_void_]
mov edi, eax
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov ecx, edi
mov dword [esp + 0x38], eax
call dword [sym.imp.PlatformData.dll_public:_struct_tagGlobalUserData____thiscall_CGlobalUserInfo::GetGlobalUserData_void_]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x70]
shr eax, 6
and al, 1
mov byte [esp + 0x17], 0
mov byte [esp + 0x74], al
je 0x436b3c
cmp word [ebx + 0x14], 0
je 0x436b3c
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x6c]
mov ecx, dword [edi + 4]
push 0xcc0020
push 0
push ebp
push eax
push ebp
push 0
push 0
push ecx
lea ecx, [esi + 0x17e4]
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CBitImage::BitBlt_struct_HDC_____int__int__int__int__int__int__unsigned_long_int_]
jmp 0x436b74
mov cl, byte [ebx + 9]
mov edx, dword [esp + 0x2c]
xor eax, eax
cmp cl, 1
setne al
push 0xcc0020
push 0
dec eax
and eax, ebp
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
push edx
push ebp
push 0
push 0
push ecx
lea ecx, [esi + 0x17e4]
call dword [sym.imp.WHImage.dll_public:_int___thiscall_CBitImage::BitBlt_struct_HDC_____int__int__int__int__int__int__unsigned_long_int_]
mov edi, dword [esp + 0x6c]
cmp byte [esi + 0x2d], 1
jne 0x436c01
lea ecx, [esi + 0x139c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::IsNull_void_]
test al, al
jne 0x436c01
mov al, byte [ebx + 9]
cmp al, 1
mov dword [esp + 0x70], 0
jne 0x436ba5
mov dword [esp + 0x70], 1
mov cx, word [ebx + 6]
cmp cx, 0x64
jne 0x436bda
test al, al
jne 0x436bc1
cmp byte [ebx + 4], 1
jne 0x436bc1
mov dword [esp + 0x70], 2
cmp cx, 0x64
jne 0x436bda
test al, al
jne 0x436bda
mov al, byte [ebx + 4]
test al, al
jne 0x436bda
mov dword [esp + 0x70], 3
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov edx, eax
imul edx, dword [esp + 0x70]
push 0
push edx
push ecx
mov ecx, dword [esi + 0x48]
push eax
mov eax, dword [esi + 0x4c]
push eax
push ecx
push edi
lea ecx, [esi + 0x139c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov ax, word [ebx + 0x16]
cmp ax, 0x64
jae 0x436f4b
xor ecx, ecx
test ax, ax
mov dword [esp + 0x70], ecx
jbe 0x436f4b
mov edi, edi
movzx ebp, cx
mov edx, ebp
shl edx, 4
lea eax, [edx + esi + 0x9b8]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, byte [esp + 0x74]
cmp al, 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
jne 0x436c5e
cmp byte [esi + 0x2e], al
jne 0x436ca5
mov ecx, dword [esp + 0x10]
cmp word [ecx + 0x14], 0
jmp 0x436c72
test al, al
jne 0x436ca5
cmp byte [esi + 0x2e], 1
jne 0x436ca5
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + ebp*4 + 0x18]
test edx, edx
jne 0x436ca5
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, ebp
imul edx, eax
push 0xcc0020
push 0
push edx
mov edx, dword [esp + 0x78]
push ecx
push eax
mov eax, dword [edx + 4]
push edi
push ebx
lea ecx, [esi + 0x15ac]
push eax
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 + 0x74]
cmp byte [esi + 0x2c], 1
jne 0x436f2a
test al, al
jne 0x436e22
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + ebp*4 + 0x18]
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x436f2a
mov edx, dword [ecx]
call dword [edx + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp*4 + 0x18]
mov edx, dword [ecx]
call dword [edx + 0x24]
mov ecx, dword [esp + 0x3c]
cmp eax, dword [ecx]
jne 0x436cea
mov byte [esp + 0x17], 1
mov al, byte [esi + 0x31]
test al, al
mov eax, dword [esp + 0x4c]
jne 0x436d66
sub eax, ebx
sub eax, 0x20
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
sub eax, edi
sub eax, 0x20
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
call dword [sym.imp.AvatarControl.dll_public:_static_class_CFaceItemControl____cdecl_CFaceItemControl::GetInstance_void_]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x1a8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
push ebx
mov dword [esp + 0x1c], eax
call dword [edx + 0x20]
mov ecx, ebx
push eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x70]
add ecx, edi
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x30]
add edx, eax
mov eax, dword [esp + 0x24]
push edx
push ebx
call dword [eax + 0x1c]
jmp 0x436db5
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + ebp*4 + 0x18]
mov edx, dword [ecx]
sub eax, ebx
mov dword [esp + 0x24], eax
imul eax, ebp
mov dword [esp + 0x18], eax
call dword [edx + 0x20]
test al, al
mov eax, dword [esp + 0x50]
jne 0x436d8e
mov ecx, eax
sub ecx, edi
jmp 0x436d90
xor ecx, ecx
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
sub eax, edi
push eax
mov eax, dword [esp + 0x78]
push edx
push edi
push ebx
push eax
lea ecx, [esi + 0x1e8c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x1c]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x50]
mov ecx, edi
mov dword [esp + 0x18], eax
mov eax, dword [edi]
call dword [eax + 0x54]
mov dx, word [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp dx, word [ecx + 0x14]
jne 0x436e0a
cmp ax, word [esp + 0x70]
jne 0x436e0a
mov al, byte [ecx + 9]
test al, al
jne 0x436e0a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x58]
cmp al, 3
jne 0x436e0a
mov eax, dword [esi + ebp*8 + 0x58]
mov ebp, dword [esi + ebp*8 + 0x5c]
push ebp
push eax
push ebx
lea ecx, [esi + 0x209c]
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 + 0x30]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x78]
push eax
push ebx
jmp 0x436f25
cmp al, 1
jne 0x436f2a
mov eax, dword [esp + 0x10]
cmp word [eax + 0x14], 0
jbe 0x436f04
mov ecx, dword [eax + ebp*4 + 0x18]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x4c]
sub ecx, ebx
lea eax, [ecx - 0x20]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
sub eax, edi
mov dword [esp + 0x20], eax
add eax, 0xffffffe0
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x18], eax
mov al, byte [esi + 0x31]
test al, al
jne 0x436eb7
call dword [sym.imp.AvatarControl.dll_public:_static_class_CFaceItemControl____cdecl_CFaceItemControl::GetInstance_void_]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x1a8]
mov edx, dword [esp + 0x1c]
mov ebp, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
add ecx, edi
add edx, ebx
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
call dword [ebp + 0x1c]
jmp 0x436f04
mov edx, dword [esp + 0x10]
mov eax, ecx
imul eax, ebp
mov dword [esp + 0x18], eax
movzx eax, word [edx + 0x14]
movzx edx, word [edx + 0x16]
imul eax, edx
add eax, ebp
and eax, 0x80000001
jns 0x436edd
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [esp + 0x20]
neg eax
sbb eax, eax
not eax
and eax, edx
push eax
mov eax, dword [esp + 0x1c]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x7c]
push edi
push ebx
push ecx
lea ecx, [esi + 0x1e8c]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int__int__int__int__int_]
mov ecx, dword [esp + 0x10]
cmp word [ecx + 0x14], 0
mov eax, 0x44c974
je 0x436f19
mov eax, 0x44c968
mov edx, dword [esp + 0x70]
push esi
push eax
mov eax, dword [esp + 0x74]
push edx
push eax
call fcn.004359f0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x10]
inc ecx
cmp cx, word [edx + 0x16]
mov dword [esp + 0x70], ecx
jb 0x436c20
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x6c]
mov ebx, edx
cmp byte [ebx + 8], 1
jne 0x436f66
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
push ecx
push eax
push edi
lea ecx, [esi + 0x22ac]
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::DrawImage_class_CDC___int__int_]
cmp byte [esi + 0x32], 1
jne 0x437013
movzx ecx, word [ebx + 0x14]
xor eax, eax
mov dword [esp + 0x46], eax
inc ecx
push ecx
mov dword [esp + 0x4e], eax
push 0x44c958
mov dword [esp + 0x56], eax
lea edx, [esp + 0x4c]
mov dword [esp + 0x5a], eax
push 0xa
push edx
mov word [esp + 0x54], 0
mov word [esp + 0x66], ax
call dword [sym.imp.MSVCR71.dll__snwprintf]
mov eax, dword [edi]
add esp, 0x10
push 0xffffff
mov ecx, edi
call dword [eax + 0x38]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x70]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_1]
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x50]
mov ebx, dword [edi]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], 0
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
call dword [sym.imp.MFC71U.DLL_CHtmlView::GetLeft]
push eax
lea ecx, [esp + 0x70]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push eax
push ecx
push edx
mov ecx, edi
call dword [ebx + 0x64]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
cmp byte [esi + 0x30], 1
jne 0x437045
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x18], 1
jne 0x437045
cmp byte [esp + 0x17], 1
jne 0x437045
mov ecx, dword [esp + 0x2c]
push 0x7d7d7d
push 0x7d7d7d
push ecx
push ebp
push 0
push 0
mov ecx, edi
call sub.MFC71U.DLL_COleControl::XViewObject::Draw
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x4c]
pop ebx
call fcn.0043cd3b
add esp, 0x58
ret 0xc