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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49475e
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x4ba190]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push esi
push edi
mov eax, dword [0x4ba190]
xor eax, esp
push eax
lea eax, [esp + 0x170]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 0x74]
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x1c], edi
mov dword [edi + 0x1f0], ebx
call fcn.004396a0
mov eax, dword [edi + 0x94]
push 0xffff0000
push ebx
push 0x1101
push eax
mov dword [edi + 0x240], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xffff0002
push 0xffff0000
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x49d344
push 1
mov ecx, esi
call fcn.0045454b
push 0xffff0002
push 0xffff0000
push 0
push 0
push 0
push 0
push 0
push 0x49d338
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0xcc], ebx
call fcn.0045454b
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [0x4bc780]
mov dword [esp + 0x30], eax
xor eax, eax
push str.GameListROOTColor
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
call fcn.00407ce0
movzx edx, byte [esp + 0x7c]
movzx eax, byte [esp + 0x78]
movzx ecx, byte [esp + 0x74]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
push edx
push ebx
mov ecx, esi
call fcn.0043c410
movzx edx, byte [esp + 0x7c]
movzx eax, byte [esp + 0x78]
movzx ecx, byte [esp + 0x74]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
push edx
mov edx, dword [esp + 0x30]
push edx
mov ecx, esi
call fcn.0043c410
mov ecx, dword [0x4bc780]
lea eax, [esp + 0x74]
push eax
push str.GameListROOTSELECTEDColor
call fcn.00407ce0
movzx eax, byte [esp + 0x7c]
movzx ecx, byte [esp + 0x78]
shl eax, 8
or eax, ecx
movzx edx, byte [esp + 0x74]
shl eax, 8
or eax, edx
mov dword [edi + 0x1ec], eax
lea eax, [esp + 0x104]
push eax
push ebx
mov ecx, esi
call fcn.004398e0
cmp eax, 1
jne 0x429777
mov ecx, dword [edi + 0x20]
push 0
push 0
push 0x31
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00445650
test eax, eax
jne 0x4296ce
push 0x5c
push eax
lea edx, [esp + 0x10c]
push edx
call fcn.00467480
add esp, 0xc
mov byte [esp + 0x11b], 0x86
jmp 0x4296e2
mov edx, dword [eax + 4]
lea ecx, [esp + 0x104]
push ecx
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
xor eax, eax
push 0x498f88
push 0x20
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
lea eax, [esp + 0x128]
push 0x20
push eax
mov dword [esp + 0x124], 0x2bc
mov dword [esp + 0x114], 0xd
call fcn.0046745c
add esp, 0x10
lea ecx, [esp + 0x104]
push ecx
push ebx
mov ecx, esi
mov byte [esp + 0x126], 4
call fcn.0043c0f0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x104]
push edx
push eax
mov ecx, esi
call fcn.0043c0f0
push 3
push 0
push 0
push 0
push 0
push 0
push 4
push ebx
mov ecx, esi
call fcn.004544fb
mov ecx, dword [esp + 0x2c]
push 3
push 0
push 0
push 0
push 0
push 0
push 4
push ecx
mov ecx, esi
call fcn.004544fb
push 0xffff0002
push ebx
push 0
push 0
push 0
push 0
push 0
push 0x49d2d0
push 1
mov ecx, esi
call fcn.0045454b
push 0xffff0002
push ebx
push 0
push 0
push 0
push 0
push 0
push str.Km_N
mov edi, eax
push 1
mov ecx, esi
mov dword [esp + 0xa8], edi
call fcn.0045454b
mov edx, dword [esp + 0x2c]
push 0xffff0002
push edx
push 0
push 0
push 0
push 0
push 0
push 0x49d2d0
push 1
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.0045454b
push 0xffff0002
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
push eax
push 0
push 0
push 0
push 0
push 0
push str.Km_N
push 1
mov ecx, esi
call fcn.0045454b
lea ecx, [esp + 0x104]
push ecx
push edi
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.004398e0
cmp eax, 1
jne 0x429961
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x20]
push 0
push 0
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00445650
test eax, eax
jne 0x429890
push 0x5c
push eax
lea ecx, [esp + 0x10c]
push ecx
call fcn.00467480
add esp, 0xc
mov byte [esp + 0x11b], 0x86
jmp 0x4298a4
mov eax, dword [eax + 4]
lea edx, [esp + 0x104]
push edx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
xor eax, eax
push 0x498f88
push 0x20
lea ecx, [esp + 0x128]
push 0x20
push ecx
mov dword [esp + 0x124], 0x190
mov dword [esp + 0x114], 0xd
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
call fcn.0046745c
add esp, 0x10
lea edx, [esp + 0x104]
push edx
push edi
mov ecx, esi
mov byte [esp + 0x126], 4
call fcn.0043c0f0
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x104]
push eax
push ecx
mov ecx, esi
call fcn.0043c0f0
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x104]
push edx
push eax
mov ecx, esi
call fcn.0043c0f0
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x104]
push ecx
push edx
mov ecx, esi
call fcn.0043c0f0
mov ecx, dword [0x4bc780]
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x40]
push eax
push str.GameListRunItemColor
call fcn.00407ce0
movzx ecx, byte [esp + 0x48]
movzx edx, byte [esp + 0x44]
movzx eax, byte [esp + 0x40]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
push ecx
push edi
mov ecx, esi
call fcn.0043c410
movzx ecx, byte [esp + 0x48]
movzx edx, byte [esp + 0x44]
movzx eax, byte [esp + 0x40]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
push ecx
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, esi
call fcn.0043c410
mov ecx, dword [0x4bc780]
lea edx, [esp + 0x40]
push edx
push str.GameListTestItemColor
call fcn.00407ce0
movzx eax, byte [esp + 0x48]
movzx ecx, byte [esp + 0x44]
movzx edx, byte [esp + 0x40]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
push eax
mov eax, dword [esp + 0x38]
push eax
mov ecx, esi
call fcn.0043c410
movzx ecx, byte [esp + 0x48]
movzx edx, byte [esp + 0x44]
movzx eax, byte [esp + 0x40]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
push ecx
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, esi
call fcn.0043c410
push 2
push 0
push 0
push 0
push 0
push 0
push 4
push edi
mov ecx, esi
call fcn.004544fb
mov edx, dword [esp + 0x34]
push 2
push 0
push 0
push 0
push 0
push 0
push 4
push edx
mov ecx, esi
call fcn.004544fb
mov eax, dword [esp + 0x3c]
push 2
push 0
push 0
push 0
push 0
push 0
push 4
push eax
mov ecx, esi
call fcn.004544fb
mov ecx, dword [esp + 0x30]
push 2
push 0
push 0
push 0
push 0
push 0
push 4
push ecx
mov ecx, esi
call fcn.004544fb
push edi
mov ecx, esi
call fcn.0043c200
mov edx, dword [esp + 0x34]
push edx
mov ecx, esi
call fcn.0043c200
mov eax, dword [esp + 0x3c]
push eax
mov ecx, esi
call fcn.0043c200
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0043c200
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x238]
mov eax, dword [edx + 4]
add esi, 0x220
push eax
mov ecx, esi
call fcn.00427560
mov eax, dword [esi + 0x18]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c], 0
mov dword [eax], eax
mov eax, dword [esi + 0x18]
mov dword [eax + 8], eax
mov esi, dword [0x4bcc70]
mov eax, dword [0x4bcc74]
cmp esi, eax
jbe 0x429b0d
call fcn.0046767e
mov eax, dword [0x4bcc74]
mov ecx, dword [0x4bcc64]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x429b20
mov esi, eax
cmp dword [0x4bcc70], eax
jbe 0x429b33
call fcn.0046767e
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x429b3f
cmp ecx, dword [0x4bcc64]
je 0x429b48
call fcn.0046767e
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x18], esi
je 0x42a530
mov byte [esp + 0x23], 0
test ecx, ecx
jne 0x429bb6
call fcn.0046767e
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x429b78
call fcn.0046767e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x429bc4
test ecx, ecx
jne 0x429bba
call fcn.0046767e
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x429ba2
call fcn.0046767e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x3c], 0
jne 0x429bbe
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
jmp 0x429c05
mov eax, dword [ecx]
jmp 0x429b66
mov eax, dword [ecx]
jmp 0x429b90
mov dword [esp + 0x38], edi
jmp 0x429c05
test ecx, ecx
jne 0x429bf9
call fcn.0046767e
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x429be5
call fcn.0046767e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x3c], 0
jne 0x429bfd
mov edx, dword [esp + 0x30]
mov dword [esp + 0x38], edx
jmp 0x429c05
mov eax, dword [ecx]
jmp 0x429bd3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
test ecx, ecx
jne 0x429c5b
call fcn.0046767e
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x429c26
call fcn.0046767e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [eax], 1
jne 0x429dd5
test ecx, ecx
jne 0x429c5f
call fcn.0046767e
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x10]
jb 0x429c4c
call fcn.0046767e
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c], 8
jb 0x429c63
mov eax, dword [eax + 8]
jmp 0x429c66
mov eax, dword [ecx]
jmp 0x429c14
mov eax, dword [ecx]
jmp 0x429c3e
add eax, 8
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
push 0xffff0002
push edx
push 0
push 0
push 0
push 0
push 0
push eax
lea ebx, [edi + 0x74]
push 1
mov ecx, ebx
call fcn.0045454b
push 0
push 0
mov esi, eax
mov eax, dword [edi + 0x20]
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00445650
test eax, eax
je 0x429ce1
mov edx, dword [eax + 4]
lea ecx, [esp + 0x104]
push ecx
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [esp + 0x104]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x11c], 0x190
mov dword [esp + 0x10c], 0xe
call fcn.0043c0f0
push 6
push 0
push 0
push 0
push 0
push 0
push 4
push esi
mov ecx, ebx
call fcn.004544fb
push 0
push esi
mov ecx, ebx
call fcn.0043c410
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x429d29
call fcn.0046767e
xor eax, eax
mov ebx, dword [esp + 0x18]
cmp ebx, dword [eax + 0x10]
jb 0x429d1e
call fcn.0046767e
cmp dword [ebx + 0x38], 8
jb 0x429d2d
mov edx, dword [ebx + 0x24]
jmp 0x429d30
mov eax, dword [eax]
jmp 0x429d10
lea edx, [ebx + 0x24]
xor ecx, ecx
mov eax, edx
mov dword [esp + 0x88], esi
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], cx
lea ebx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x429d60
sub eax, ebx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x94]
call fcn.00402210
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0xe0]
push eax
lea ecx, [edi + 0x220]
mov dword [esp + 0x180], 0
call fcn.004276c0
cmp dword [esp + 0xa4], 8
mov dword [esp + 0x178], 0xffffffff
jb 0x429dc8
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00443d03
add esp, 4
push esi
mov ecx, edi
call fcn.00429260
jmp 0x42a4eb
mov esi, dword [0x4bcc58]
cmp esi, dword [0x4bcc5c]
jbe 0x429de8
call fcn.0046767e
mov edi, dword [0x4bcc4c]
mov ebx, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
jmp 0x429e00
mov esi, dword [0x4bcc5c]
cmp dword [0x4bcc58], esi
jbe 0x429e13
call fcn.0046767e
test edi, edi
je 0x429e1f
cmp edi, dword [0x4bcc4c]
je 0x429e24
call fcn.0046767e
cmp ebx, esi
je 0x42a2ef
test edi, edi
jne 0x429e4c
call fcn.0046767e
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x429e41
call fcn.0046767e
cmp dword [ebx + 0x54], 8
jb 0x429e50
mov eax, dword [ebx + 0x40]
jmp 0x429e53
mov eax, dword [edi]
jmp 0x429e37
lea eax, [ebx + 0x40]
push 0
push eax
call fcn.00467bd5
add esp, 8
test eax, eax
je 0x429e80
push ebx
push edi
lea edx, [esp + 0xb4]
push edx
mov ecx, 0x4bcc4c
call fcn.004279e0
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x429df0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x429efa
call fcn.0046767e
xor eax, eax
mov esi, dword [esp + 0x18]
cmp esi, dword [eax + 0x10]
jb 0x429e9d
call fcn.0046767e
push 1
push 1
add esi, 0x20
lea eax, [esp + 0x90]
push esi
push eax
call fcn.004358f0
add esp, 0x10
mov esi, eax
mov dword [esp + 0x178], 1
test edi, edi
jne 0x429efe
call fcn.0046767e
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x429ed7
call fcn.0046767e
push 1
push 1
add ebx, 0x1c
lea ecx, [esp + 0x5c]
push ebx
push ecx
call fcn.004358f0
add esp, 0x10
cmp dword [esi + 0x18], 8
mov edi, dword [esi + 0x14]
jb 0x429f02
mov esi, dword [esi + 4]
jmp 0x429f05
mov eax, dword [eax]
jmp 0x429e8f
mov eax, dword [edi]
jmp 0x429ecd
add esi, 4
mov ebx, dword [eax + 0x14]
mov ecx, ebx
cmp ecx, ebx
jae 0x429f0e
mov edx, ebx
cmp ebx, edi
jb 0x429f16
mov edx, edi
cmp dword [eax + 0x18], 8
jb 0x429f21
mov ecx, dword [eax + 4]
jmp 0x429f24
lea ecx, [eax + 4]
mov eax, esi
test edx, edx
jbe 0x429f55
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [eax]
jne 0x429f45
add ecx, 2
add eax, 2
sub edx, 1
jne 0x429f30
jmp 0x429f55
mov dx, si
cmp dx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
jne 0x429f65
cmp ebx, edi
jae 0x429f5e
or eax, 0xffffffff
jmp 0x429f65
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
mov edi, 8
sete bl
cmp dword [esp + 0x6c], edi
jb 0x429f82
mov eax, dword [esp + 0x58]
push eax
call fcn.00443d03
add esp, 4
xor ecx, ecx
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], 0
mov word [esp + 0x58], cx
mov dword [esp + 0x178], 0xffffffff
cmp dword [esp + 0xa0], edi
jb 0x429fbd
mov edx, dword [esp + 0x8c]
push edx
call fcn.00443d03
add esp, 4
test bl, bl
je 0x42a2bc
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x429fec
call fcn.0046767e
xor eax, eax
mov esi, dword [esp + 0x28]
cmp esi, dword [eax + 0x10]
jb 0x429fe2
call fcn.0046767e
cmp dword [esi + 0x18], edi
jb 0x429ff0
mov eax, dword [esi + 4]
jmp 0x429ff3
mov eax, dword [eax]
jmp 0x429fd4
lea eax, [esi + 4]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
push 0xffff0002
push ecx
push 0
push 0
push 0
push 0
push 0
push eax
lea ebx, [edi + 0x74]
push 1
mov ecx, ebx
call fcn.0045454b
mov edx, dword [edi + 0x20]
push 0
push 0
push 0x31
push edx
mov esi, eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00445650
test eax, eax
je 0x42a06e
mov edx, dword [eax + 4]
lea ecx, [esp + 0x104]
push ecx
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [esp + 0x104]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x11c], 0x190
mov dword [esp + 0x10c], 0xe
call fcn.0043c0f0
push 5
push 0
push 0
push 0
push 0
push 0
push 4
push esi
mov ecx, ebx
call fcn.004544fb
push 0
push esi
mov ecx, ebx
call fcn.0043c410
cmp dword [esp + 0x24], 0
jne 0x42a1f8
call fcn.0046767e
xor eax, eax
mov edx, dword [esp + 0x28]
cmp edx, dword [eax + 0x10]
jb 0x42a0ae
call fcn.0046767e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
xor eax, eax
push 0xffffffffffffffff
mov ebx, 7
push eax
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], 0
mov word [ecx + 4], ax
mov eax, dword [esp + 0x4c]
add eax, 0x3c
push eax
call fcn.00402110
lea ecx, [esp + 0x70]
push esi
push ecx
call fcn.004261b0
add esp, 0x24
mov edx, dword [eax]
xor ecx, ecx
push 0xffffffffffffffff
push ecx
add eax, 4
mov word [esp + 0x98], cx
push eax
lea ecx, [esp + 0x98]
mov dword [esp + 0x184], 3
mov dword [esp + 0x94], edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], 0
call fcn.00402110
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0xd4]
push eax
lea ecx, [edi + 0x220]
mov byte [esp + 0x180], 4
call fcn.004276c0
mov edi, 8
cmp dword [esp + 0xa4], edi
jb 0x42a16e
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00443d03
add esp, 4
xor edx, edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], dx
mov dword [esp + 0x178], 0xffffffff
cmp dword [esp + 0x70], edi
jb 0x42a1a8
mov eax, dword [esp + 0x5c]
push eax
call fcn.00443d03
add esp, 4
xor ecx, ecx
push 1
mov word [esp + 0x5c], cx
push 0x49a6d4
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], 0
call fcn.00402210
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42a203
call fcn.0046767e
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x42a1e8
call fcn.0046767e
cmp dword [esp + 0x6c], edi
jb 0x42a207
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
jmp 0x42a20f
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
jmp 0x42a0a0
mov eax, dword [eax]
jmp 0x42a1da
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0xe0]
mov edi, dword [esp + 0x68]
mov ecx, ebx
mov edx, ebx
cmp ebx, edi
jb 0x42a227
mov edx, edi
cmp dword [eax + 0xe4], 8
jb 0x42a238
mov ecx, dword [eax + 0xd0]
jmp 0x42a23e
lea ecx, [eax + 0xd0]
mov eax, dword [esp + 0x50]
test edx, edx
jbe 0x42a26f
mov di, word [ecx]
cmp di, word [eax]
jne 0x42a25b
add ecx, 2
add eax, 2
sub edx, 1
jne 0x42a246
jmp 0x42a26b
mov dx, di
cmp dx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
jne 0x42a27f
mov edi, dword [esp + 0x68]
cmp ebx, edi
jae 0x42a278
or eax, 0xffffffff
jmp 0x42a27f
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete bl
cmp dword [esp + 0x6c], 8
mov dword [esp + 0x178], 0xffffffff
jb 0x42a2a3
mov eax, dword [esp + 0x58]
push eax
call fcn.00443d03
add esp, 4
mov ecx, dword [esp + 0x1c]
test bl, bl
je 0x42a2af
push 1
jmp 0x42a2b1
push 0
push esi
call fcn.004280e0
mov byte [esp + 0x23], 1
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x42a2eb
call fcn.0046767e
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, dword [eax + 0x10]
jb 0x42a2d9
call fcn.0046767e
add dword [esp + 0x28], 0x58
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
jmp 0x429e00
mov eax, dword [eax]
jmp 0x42a2cb
cmp byte [esp + 0x23], 0
jne 0x42a4eb
xor edx, edx
mov dword [esp + 0x100], 7
mov dword [esp + 0xfc], 0
mov word [esp + 0xec], dx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x178], 6
test eax, eax
jne 0x42a438
call fcn.0046767e
xor eax, eax
mov esi, dword [esp + 0x18]
cmp esi, dword [eax + 0x10]
jb 0x42a346
call fcn.0046767e
push 0xffffffffffffffff
push 0
add esi, 4
push esi
lea ecx, [esp + 0xf4]
call fcn.00402110
cmp dword [esp + 0x100], 8
mov eax, dword [esp + 0xec]
jae 0x42a372
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
push 0xffff0002
push ecx
push 0
push 0
push 0
push 0
push 0
push eax
add edi, 0x74
push 1
mov ecx, edi
call fcn.0045454b
push 1
xor edx, edx
push 0x49a6d4
lea ecx, [esp + 0x5c]
mov esi, eax
mov dword [esp + 0x74], 7
mov dword [esp + 0x70], 0
mov word [esp + 0x60], dx
call fcn.00402210
mov eax, dword [esp + 0x14]
mov byte [esp + 0x178], 7
test eax, eax
jne 0x42a43f
call fcn.0046767e
xor eax, eax
mov ebx, dword [esp + 0x18]
cmp ebx, dword [eax + 0x10]
jb 0x42a3e5
call fcn.0046767e
cmp dword [esp + 0x6c], 8
mov eax, dword [esp + 0x58]
lea ecx, [ebx + 0xcc]
jae 0x42a3fa
lea eax, [esp + 0x58]
mov edx, dword [esp + 0x68]
push edx
push eax
mov eax, dword [ecx + 0x14]
push eax
push 0
call fcn.00404b10
test eax, eax
sete bl
cmp dword [esp + 0x6c], 8
mov byte [esp + 0x178], 6
jb 0x42a42c
mov ecx, dword [esp + 0x58]
push ecx
call fcn.00443d03
add esp, 4
mov ecx, dword [esp + 0x1c]
test bl, bl
je 0x42a443
push 1
jmp 0x42a445
mov eax, dword [eax]
jmp 0x42a338
mov eax, dword [eax]
jmp 0x42a3d7
push 0
push esi
call fcn.00426650
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x20]
push 0
push 0
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00445650
test eax, eax
je 0x42a4a3
mov edx, dword [eax + 4]
lea ecx, [esp + 0x104]
push ecx
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [esp + 0x104]
push eax
push esi
mov ecx, edi
mov dword [esp + 0x11c], 0x190
mov dword [esp + 0x10c], 0xe
call fcn.0043c0f0
push 4
push 0
push 0
push 0
push 0
push 0
push 4
push esi
mov ecx, edi
call fcn.004544fb
push 0x5e5e5e
push esi
mov ecx, edi
call fcn.0043c410
cmp dword [esp + 0x100], 8
mov dword [esp + 0x178], 0xffffffff
jb 0x42a4eb
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00443d03
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42a52c
call fcn.0046767e
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x42a508
call fcn.0046767e
add dword [esp + 0x18], 0xe8
mov eax, dword [0x4bcc74]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0x84]
jmp 0x429b20
mov eax, dword [eax]
jmp 0x42a4fa
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x94]
push ebx
push 2
push 0x1102
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
lea ecx, [esi + 0x74]
call fcn.004544cb
push edi
test eax, eax
jne 0x42a566
mov ecx, dword [esi + 0x94]
push eax
push 0x1101
push ecx
jmp 0x42a574
mov edx, dword [esi + 0x94]
push 2
push 0x1102
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [esp + 0x34]
push edi
lea ecx, [esi + 0x74]
call fcn.004544cb
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x42a5a1
push eax
mov eax, dword [esi + 0x94]
push 0x1101
push eax
jmp 0x42a5af
mov ecx, dword [esi + 0x94]
push 2
push 0x1102
push ecx
call edi
push ebx
lea ecx, [esi + 0x74]
call fcn.004544cb
test eax, eax
jne 0x42a5ce
mov edx, dword [esi + 0x94]
push ebx
push eax
push 0x1101
push edx
call edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x94]
push eax
push 2
push 0x1102
push ecx
call edi
mov ebx, dword [esp + 0x3c]
push ebx
lea ecx, [esi + 0x74]
call fcn.004544cb
push ebx
test eax, eax
jne 0x42a604
mov edx, dword [esi + 0x94]
push eax
push 0x1101
push edx
jmp 0x42a612
mov eax, dword [esi + 0x94]
push 2
push 0x1102
push eax
call edi
mov ebx, dword [esp + 0x30]
push ebx
lea ecx, [esi + 0x74]
call fcn.004544cb
push ebx
test eax, eax
jne 0x42a635
mov ecx, dword [esi + 0x94]
push eax
push 0x1101
push ecx
jmp 0x42a643
mov edx, dword [esi + 0x94]
push 2
push 0x1102
push edx
call edi
mov ebx, dword [esp + 0x2c]
push ebx
lea ecx, [esi + 0x74]
call fcn.004544cb
test eax, eax
jne 0x42a666
push ebx
push eax
mov eax, dword [esi + 0x94]
push 0x1101
push eax
call edi
mov ecx, esi
call fcn.00425af0
test al, al
jne 0x42a759
mov ecx, esi
call fcn.00425d00
test al, al
jne 0x42a760
mov ecx, esi
call fcn.00425170
test al, al
jne 0x42a767
mov edi, 7
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x100], edi
mov dword [esp + 0xfc], ebx
mov word [esp + 0xec], cx
push 6
lea edx, [esp + 0xb8]
mov esi, 8
push edx
mov ecx, 0x4bc9a8
mov dword [esp + 0x180], esi
call fcn.0041d190
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xf4]
mov byte [esp + 0x184], 9
call fcn.00402110
mov byte [esp + 0x178], 8
cmp dword [esp + 0xcc], esi
jb 0x42a70b
mov eax, dword [esp + 0xb8]
push eax
call fcn.00443d03
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xa0], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x10c]
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00402110
mov ecx, dword [0x4bcd40]
call fcn.0041fae0
cmp dword [esp + 0x100], esi
jb 0x42a767
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00443d03
add esp, 4
jmp 0x42a767
mov byte [0x4bcc14], 0
mov byte [esi + 0x244], 0
mov ecx, dword [esp + 0x170]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.004673e3
mov esp, ebp
pop ebp
ret