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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push str.DrawTopCards
mov dword [esp + 0x24], ebp
call fcn.0045eb90
mov ecx, dword [ebp + 0x18668]
add esp, 4
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, 0x4a9190
call fcn.00444510
mov byte [esp + 0x18], al
mov ecx, 0x4a9190
mov edx, dword [esp + 0x18]
push edx
call fcn.00445ff0
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x429dd8
mov al, byte [esi + 0x1b8]
test al, al
jle 0x429dd8
lea eax, [esi + 0x78]
mov ecx, 0x4a9190
push eax
call fcn.00446470
test al, al
je 0x429dd8
lea eax, [esp + 0x38]
push 0
push eax
mov ecx, ebp
call fcn.00426100
lea ecx, [esp + 0x48]
push 0
push ecx
mov ecx, ebp
call fcn.00426020
mov ecx, ebp
call fcn.00427710
test eax, eax
mov ebx, 0xc
je 0x429c5e
mov ecx, ebp
call fcn.00427790
neg eax
sbb eax, eax
and eax, 4
add eax, 0xe
mov dword [esp + 0x10], eax
jmp 0x429c62
mov dword [esp + 0x10], ebx
push 0
mov ecx, ebp
call fcn.00427880
mov edi, eax
mov al, byte [esi + 0x1b8]
cmp al, 0x19
jle 0x429cb1
mov ecx, ebp
call fcn.00427710
test eax, eax
je 0x429cb1
mov ecx, ebp
call fcn.00427790
test eax, eax
je 0x429ca2
push 2
mov ecx, ebp
call fcn.00427880
mov edi, eax
mov dword [esp + 0x10], 0xe
jmp 0x429cb1
push 1
mov ecx, ebp
call fcn.00427880
mov edi, eax
mov dword [esp + 0x10], ebx
push 0
mov ecx, edi
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetWidth_unsigned_int_
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
push 0
lea ebx, [ecx + edx]
mov ecx, edi
sub ebx, eax
shr ebx, 1
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetWidth_unsigned_int_
mov edx, dword [esp + 0x1c]
mov esi, eax
push 0
mov ecx, edi
movsx eax, byte [edx + 0x1b8]
dec eax
imul eax, dword [esp + 0x14]
add esi, eax
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetWidth_unsigned_int_
mov ecx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [esp + 0x48]
sub eax, ecx
sub eax, edx
sub eax, 2
cmp esi, eax
jg 0x429d12
sub eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, ecx
jmp 0x429d30
mov ecx, ebp
call fcn.00427a20
mov ecx, dword [esp + 0x30]
sub ecx, esi
mov esi, dword [esp + 0x28]
sub ecx, esi
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], 0
mov cl, byte [eax + 0x1b8]
test cl, cl
jle 0x429dd8
add eax, 0x78
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov ecx, 0x4a9190
push edx
call fcn.00446470
test al, al
je 0x429dab
mov eax, dword [ebp + 0x6544]
test eax, eax
jne 0x429d8d
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x429d8d
mov eax, dword [esp + 0x14]
push 0
push eax
mov ecx, 0x4a9190
call fcn.00446470
movsx ecx, al
push ecx
jmp 0x429da2
mov edx, dword [esp + 0x14]
push 0
push edx
mov ecx, 0x4a9190
call fcn.00446470
movsx eax, al
push eax
push ebx
push esi
mov ecx, edi
call sub.CLUINewEngine.dll_public:_void___thiscall_CxImage::Draw_int__int__unsigned_int__struct_CxImage::_DRAW_PARA__
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add esi, edx
mov edx, dword [esp + 0x14]
inc eax
add edx, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
movsx edx, byte [ecx + 0x1b8]
cmp eax, edx
jl 0x429d51
mov ecx, 0x4a9190
call fcn.004444b0
mov byte [esp + 0x18], al
mov ecx, 0x4a9190
mov eax, dword [esp + 0x18]
push eax
call fcn.00445ff0
mov esi, eax
test esi, esi
mov dword [esp + 0x24], esi
je 0x429f98
movsx ebx, byte [esi + 0x1b8]
dec ebx
js 0x429f98
lea eax, [esi + ebx*8 + 0x78]
mov ecx, 0x4a9190
push eax
mov dword [esp + 0x18], eax
call fcn.00446470
test al, al
je 0x429f98
push 0
mov ecx, ebp
call fcn.00427880
mov ecx, ebp
mov dword [esp + 0x5c], eax
call fcn.00427710
test eax, eax
je 0x429e59
mov ecx, ebp
call fcn.00427790
mov edi, eax
neg edi
sbb edi, edi
and edi, 4
add edi, 0x10
jmp 0x429e5e
mov edi, 0xe
lea ecx, [esp + 0x48]
push 0
push ecx
mov ecx, ebp
call fcn.00425f50
lea edx, [esp + 0x38]
push 0
push edx
mov ecx, ebp
call fcn.004261e0
mov ecx, dword [esp + 0x5c]
push 0
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetHeight_unsigned_int_
movsx ecx, byte [esi + 0x1b8]
mov edx, dword [esp + 0x50]
dec ecx
imul ecx, edi
mov esi, dword [esp + 0x34]
lea ebp, [edx + 2]
mov edx, dword [esp + 0x2c]
add eax, ecx
sub esi, edx
mov edx, dword [esp + 0x3c]
sub esi, eax
xor eax, eax
sar esi, 1
add esi, 5
test ebx, ebx
jle 0x429ec4
lea ecx, [esi + edi]
cmp ecx, edx
jge 0x429ec4
add esi, edi
add ecx, edi
inc eax
cmp eax, ebx
jl 0x429eb7
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x6544], 0
je 0x429f32
mov ecx, dword [esp + 0x38]
sub esi, edx
sub ebp, ecx
cmp eax, ebx
jge 0x429f1b
mov edx, dword [esp + 0x24]
sub ebx, eax
lea ecx, [edx + eax*8 + 0x78]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
push 0
push edx
mov ecx, 0x4a9190
call fcn.00446470
mov ecx, dword [esp + 0x60]
movsx eax, al
push eax
push esi
push ebp
call sub.CLUINewEngine.dll_public:_void___thiscall_CxImage::Draw_int__int__unsigned_int__struct_CxImage::_DRAW_PARA__
mov ecx, dword [esp + 0x1c]
add esi, edi
add ecx, 8
dec ebx
mov dword [esp + 0x1c], ecx
jne 0x429eeb
mov ecx, dword [esp + 0x14]
push 0
push ecx
mov ecx, 0x4a9190
call fcn.00446470
movsx edx, al
push edx
jmp 0x429f89
cmp eax, ebx
jge 0x429f74
mov ecx, dword [esp + 0x24]
sub ebx, eax
lea edx, [ecx + eax*8 + 0x78]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
push 0
push eax
mov ecx, 0x4a9190
call fcn.00446470
movsx ecx, al
push ecx
mov ecx, dword [esp + 0x64]
push esi
push ebp
call sub.CLUINewEngine.dll_public:_void___thiscall_CxImage::Draw_int__int__unsigned_int__struct_CxImage::_DRAW_PARA__
mov ecx, dword [esp + 0x1c]
add esi, edi
add ecx, 8
dec ebx
mov dword [esp + 0x1c], ecx
jne 0x429f44
mov edx, dword [esp + 0x14]
push 0
push edx
mov ecx, 0x4a9190
call fcn.00446470
movsx eax, al
push eax
mov ecx, dword [esp + 0x64]
push esi
push ebp
call sub.CLUINewEngine.dll_public:_void___thiscall_CxImage::Draw_int__int__unsigned_int__struct_CxImage::_DRAW_PARA__
mov ebp, dword [esp + 0x20]
mov ecx, 0x4a9190
call fcn.004444e0
mov byte [esp + 0x18], al
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 0x4a9190
call fcn.00445ff0
mov edi, eax
test edi, edi
mov dword [esp + 0x20], edi
je 0x42a0a1
push 0
mov ecx, ebp
call fcn.00427880
lea edx, [esp + 0x48]
mov esi, eax
push 0
push edx
mov ecx, ebp
mov dword [esp + 0x64], esi
call fcn.00426020
mov ecx, ebp
call fcn.00427710
test eax, eax
je 0x42a000
mov ecx, ebp
call fcn.00427790
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 4
add ebp, 0x10
jmp 0x42a005
mov ebp, 0xe
push 0
mov ecx, esi
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetHeight_unsigned_int_
mov ebx, eax
push 0
movsx eax, byte [edi + 0x1b8]
dec eax
mov ecx, esi
imul eax, ebp
add ebx, eax
call sub.CLUINewEngine.dll_public:_unsigned_int___thiscall_CxImage::GetWidth_unsigned_int_
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
sub esi, ecx
sub esi, ebx
mov ebx, dword [esp + 0x20]
sub edi, eax
mov dword [esp + 0x24], 0
mov al, byte [ebx + 0x1b8]
sub edi, 2
sar esi, 1
add esi, 5
test al, al
jle 0x42a0a1
add ebx, 0x78
push ebx
mov ecx, 0x4a9190
call fcn.00446470
test al, al
je 0x42a084
push 0
push ebx
mov ecx, 0x4a9190
call fcn.00446470
movsx ecx, al
push ecx
mov ecx, dword [esp + 0x64]
push esi
push edi
call sub.CLUINewEngine.dll_public:_void___thiscall_CxImage::Draw_int__int__unsigned_int__struct_CxImage::_DRAW_PARA__
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add esi, ebp
inc eax
movsx ecx, byte [edx + 0x1b8]
add ebx, 8
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x42a059
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 4