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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x564
mov eax, dword [0x634b28]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x538], eax
push ebx
push esi
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x520], edx
push edi
mov dword [esi], vtable.CXDialogTemplate.0
mov eax, dword [edx + 0x858]
mov dword [esi + 0x54], eax
mov eax, dword [edx + 0x854]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov eax, dword [edx + 4]
mov dword [esi + 0x68], eax
mov eax, dword [edx + 8]
mov dword [esi + 0x6c], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0x70], eax
mov eax, dword [edx + 0x10]
mov dword [esi + 0x74], eax
mov dword [esi + 0x88], 0xffffffff
mov eax, dword [edx + 0x850]
mov dword [esi + 0x8c], eax
mov dword [esi + 0x90], 0x3e9
mov dword [esi + 0x94], 1
mov eax, dword [edx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x9c], eax
mov dword [ebp - 0x534], eax
mov eax, dword [edx + 0x14]
and eax, 1
mov dword [esi + 0xa4], eax
mov ecx, dword [edx + 0x14]
and ecx, 2
mov dword [esi + 0xa8], ecx
mov eax, dword [edx + 0x14]
and eax, 4
mov dword [esi + 0xb0], 0
mov dword [esi + 0xac], eax
mov eax, dword [edx + 0x84c]
mov dword [esi + 0xb4], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0xb8], eax
mov eax, dword [edx + 0x18]
mov dword [esi + 0xbc], eax
mov eax, dword [edx + 0x1c]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f0], 0
mov eax, dword [edx + 0x85c]
mov dword [esi + 0x4f4], eax
mov edx, dword [edx + 0x860]
mov eax, edx
mov dword [esi + 0x4f8], edx
mov dword [esi + 0x4fc], 0
test ecx, ecx
je 0x463a3e
mov dword [esi + 0xa4], 1
cmp edx, 0xffffffff
jne 0x463a3e
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esi + 0x4f8], eax
cmp eax, 0xffffffff
je 0x463a50
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esi + 0x4fc], eax
mov edi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov dword [ebp - 0x51c], edi
call edi
movzx eax, ax
mov dword [ebp - 0x548], eax
call edi
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 4
push dword [ebp - 0x548]
shr eax, 0x10
push 0x26
mov dword [ebp - 0x544], eax
call edi
push 8
push dword [ebp - 0x544]
mov dword [esi + 0x78], eax
push 0xc
call edi
push 4
push dword [ebp - 0x548]
mov dword [esi + 0x80], eax
push 0xd
call edi
cmp dword [esi + 0xa8], 0
mov dword [esi + 0x7c], eax
je 0x463ad2
push 4
push dword [ebp - 0x548]
push 6
call edi
add dword [esi + 0x78], eax
push 8
push dword [ebp - 0x544]
push 1
call edi
add dword [esi + 0x80], eax
push 8
push dword [ebp - 0x544]
push 0xa
call edi
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x534]
and eax, 0xf00
cmp eax, 0x300
ja 0x463b2e
je 0x463b25
test eax, eax
je 0x463b3c
cmp eax, 0x100
je 0x463b1c
cmp eax, 0x200
jne 0x463b3c
mov dword [esi + 0x64], 3
jmp 0x463b55
mov dword [esi + 0x64], 2
jmp 0x463b55
mov dword [esi + 0x64], 4
jmp 0x463b55
cmp eax, 0x400
je 0x463b4e
cmp eax, 0x500
je 0x463b45
mov dword [esi + 0x64], 1
jmp 0x463b55
mov dword [esi + 0x64], 6
jmp 0x463b55
mov dword [esi + 0x64], 5
push 0x208
lea edi, [esi + 0x2e4]
push 0
push edi
call fcn.0057e5f0
mov ecx, dword [ebp - 0x520]
add esp, 0xc
add ecx, 0x644
sub edi, ecx
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x463b80
push 0xc8
lea eax, [esi + 0x512]
push 0
push eax
call fcn.0057e5f0
push 0x20000
call fcn.005460f3
add esp, 0x10
mov dword [esi + 0xd4], eax
test eax, eax
je 0x463bc5
xor ecx, ecx
mov word [eax], cx
mov eax, dword [esi + 0xd4]
push 0x20000
push 0
push eax
call fcn.0057e5f0
push 0x20000
call fcn.005460f3
add esp, 0x10
mov dword [esi + 0xd8], eax
test eax, eax
je 0x463bf4
xor ecx, ecx
mov word [eax], cx
mov eax, dword [esi + 0xd8]
push 0x20000
push 0
push eax
call fcn.0057e5f0
mov edi, dword [esi + 0xbc]
add esp, 0xc
mov dword [ebp - 0x52c], edi
test edi, edi
jne 0x463c23
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
mov dword [ebp - 0x52c], eax
test ebx, ebx
je 0x463c71
mov ecx, dword [esi + 0xd4]
mov eax, ebx
shr eax, 0x10
push 0xffff
test eax, eax
jne 0x463c58
push ecx
movzx eax, bx
push eax
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x463c62
mov eax, dword [esi + 0xd4]
xor ecx, ecx
mov word [eax], cx
jmp 0x463c62
push ebx
push ecx
call fcn.0059629f
add esp, 0xc
mov eax, dword [esi + 0xd4]
xor ecx, ecx
mov word [eax + 0x1fffe], cx
mov edx, dword [ebp - 0x538]
test edx, edx
je 0x463cc5
mov ecx, dword [esi + 0xd8]
mov eax, edx
shr eax, 0x10
push 0xffff
test eax, eax
jne 0x463cac
push ecx
movzx eax, dx
push eax
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x463cb6
mov eax, dword [esi + 0xd8]
xor ecx, ecx
mov word [eax], cx
jmp 0x463cb6
push edx
push ecx
call fcn.0059629f
add esp, 0xc
mov eax, dword [esi + 0xd8]
xor ecx, ecx
mov word [eax + 0x1fffe], cx
push 0x208
lea ebx, [esi + 0xdc]
push 0
push ebx
call fcn.0057e5f0
mov ecx, dword [ebp - 0x520]
add esp, 0xc
mov eax, dword [ecx + 0x22c]
test eax, eax
je 0x463d10
push 0x103
push ebx
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
push eax
push edi
call ebx
mov ecx, dword [ebp - 0x520]
lea edx, [esi + 0xdc]
test eax, eax
jne 0x463d1c
mov word [edx], ax
jmp 0x463d1c
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
lea edx, [esi + 0xdc]
cmp word [edx], 0
jne 0x463d41
cmp word [ecx + 0x230], 0
lea eax, [ecx + 0x230]
je 0x463d41
push 0x103
push eax
push edx
call fcn.0059629f
add esp, 0xc
xor eax, eax
push 0xc8
mov word [esi + 0x2e2], ax
lea eax, [esi + 0xf88]
push 0
push eax
call fcn.0057e5f0
mov ecx, dword [ebp - 0x520]
add esp, 0xc
mov eax, dword [ecx + 0x438]
test eax, eax
je 0x463d8e
push 0x63
lea ecx, [esi + 0xf88]
push ecx
push eax
push edi
call ebx
mov ecx, dword [ebp - 0x520]
test eax, eax
jne 0x463d8e
mov word [esi + 0xf88], ax
cmp word [esi + 0xf88], 0
jne 0x463dba
cmp word [ecx + 0x43c], 0
lea eax, [ecx + 0x43c]
je 0x463dba
push 0x63
push eax
lea eax, [esi + 0xf88]
push eax
call fcn.0059629f
add esp, 0xc
xor eax, eax
xor edi, edi
mov word [esi + 0x104e], ax
jmp 0x463dd0
imul ebx, edi, 0xc8
lea ecx, [esi + 0x628]
add ecx, ebx
cmp edi, 0xc
jne 0x463e03
cmp word [ecx], 0
jne 0x463e21
mov edx, dword [0x633bfc]
nop
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x463df0
jmp 0x463e21
mov edx, dword [edi*8 + 0x633b9c]
lea ebx, [ebx]
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x463e10
xor eax, eax
inc edi
mov word [ebx + esi + 0x6ee], ax
cmp edi, 0x13
jl 0x463dd0
mov eax, dword [ebp - 0x520]
cmp dword [eax + 0x864], 0
je 0x463e52
add eax, 0x868
mov ecx, esi
push eax
call fcn.00466bc0
jmp 0x463ed7
test dword [ebp - 0x534], 0x20000000
jne 0x463ed7
xor ebx, ebx
imul edi, ebx, 0xc8
mov dword [ebp - 0x538], edi
add edi, 0x628
add edi, esi
cmp ebx, 0xc
jne 0x463e8a
cmp word [edi], 0
jne 0x463ec1
push 0x64
push edi
push dword [0x633bf8]
jmp 0x463e94
push 0x64
push edi
push dword [ebx*8 + 0x633b98]
push dword [ebp - 0x52c]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x463ec1
mov ecx, dword [ebx*8 + 0x633b9c]
jmp 0x463eb0
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi], ax
lea edi, [edi + 2]
test ax, ax
jne 0x463eb0
mov eax, dword [ebp - 0x538]
xor ecx, ecx
inc ebx
mov word [eax + esi + 0x6ee], cx
cmp ebx, 0x13
jl 0x463e60
push 0
push 0
push 0
push 0x5d38cc
call dword [sym.imp.GDI32.dll_CreateDCW]
mov ebx, eax
mov dword [ebp - 0x514], 0x1f4
push 0
lea eax, [ebp - 0x514]
mov dword [ebp - 0x53c], ebx
push eax
push 0x1f4
push 0x29
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
lea eax, [ebp - 0x37c]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
mov dword [esi + 0x4f0], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
push ebx
mov dword [ebp - 0x558], eax
call eax
mov dword [ebp - 0x55c], eax
lea edi, [esi + 0x628]
lea eax, [esi + 0x5dc]
mov dword [ebp - 0x52c], 0x13
mov dword [ebp - 0x518], eax
mov ebx, eax
mov eax, dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov dword [ebp - 0x530], eax
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x463f66
sub ecx, edx
lea eax, [ebp - 0x550]
push eax
sar ecx, 1
push ecx
push edi
push dword [ebp - 0x53c]
call dword [ebp - 0x530]
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x540]
add eax, 0x14
cmp eax, ecx
cmovg ecx, eax
cmp dword [esi + 0x68], 0
je 0x463fa7
add ecx, dword [esi + 0x7c]
mov dword [ebx], ecx
add edi, 0xc8
add ebx, 4
sub dword [ebp - 0x52c], 1
jne 0x463f61
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call ebx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
add edi, 0x50
cmp dword [esi + 0xa8], 0
je 0x463fe6
push 0
call ebx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
sub edi, 0xa
cmp dword [esi + 0xac], 0
je 0x464003
push 0
call ebx
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov edi, edx
shr edi, 0x1f
add edi, edx
mov ebx, dword [ebp - 0x534]
and ebx, 0xf0
je 0x464022
push 0xb
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0xfffffff0
sub ecx, eax
add edi, ecx
push edi
push edi
push 0
lea eax, [esi + 0xc4]
push 0
push eax
mov eax, dword [sym.imp.USER32.dll_SetRect]
mov dword [ebp - 0x528], eax
call eax
push 0xc50
lea edi, [esi + 0xc4]
push edi
push 0xffffffffffffffff
push dword [esi + 0xd4]
push dword [ebp - 0x53c]
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [esi + 0xd0]
sub eax, dword [esi + 0xc8]
mov dword [ebp - 0x524], eax
lea eax, [ebp - 0x564]
push eax
push 2
push 0x5d38dc
push dword [ebp - 0x53c]
call dword [ebp - 0x530]
mov ecx, dword [esi + 0xa8]
mov eax, 0x20
test ecx, ecx
mov dword [edi], 0x10
mov edx, 0x10
mov edi, 0x38
cmovne edx, eax
add dword [esi + 0xcc], 0x1c
test ecx, ecx
mov dword [esi + 0xc8], edx
mov eax, 0x18
cmovne eax, edi
mov edi, dword [ebp - 0x528]
add eax, 5
add dword [esi + 0xd0], eax
mov eax, dword [esi + 0xd0]
sub eax, edx
add eax, 0x10
push eax
push dword [esi + 0xcc]
lea eax, [ebp - 0x22c]
push 0
push 0
push eax
call edi
cmp dword [esi + 0xa8], 0
je 0x4640fd
add dword [ebp - 0x224], 0x10
mov ecx, dword [ebp - 0x220]
mov edx, 0x46
mov eax, ecx
mov dword [esi + 0x504], 0
sub eax, dword [ebp - 0x228]
cmp eax, edx
cmovl ecx, edx
xor eax, eax
test dword [ebp - 0x534], 0x1000
mov dword [esi + 0x50a], eax
mov word [esi + 0x508], ax
mov eax, 0x90c80880
mov dword [ebp - 0x220], ecx
mov ecx, 0x90c80882
cmovne eax, ecx
mov dword [esi + 0x500], eax
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
push eax
mov dword [esi + 0x40], eax
push eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
push eax
mov dword [esi + 0x4c], eax
push eax
mov dword [esi + 0x50], eax
lea eax, [ebp - 0x23c]
push eax
call edi
mov ecx, dword [esi + 0xc0]
test ecx, ecx
jne 0x4641af
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, eax
mov edx, dword [ebp - 0x520]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x4641c3
movzx eax, ax
push eax
push ecx
jmp 0x464206
cmp word [edx + 0x24], 0
lea eax, [edx + 0x24]
je 0x4641d1
push eax
push ecx
jmp 0x464206
test ebx, ebx
je 0x464212
add ebx, 0xfffffff0
mov ecx, 0x7f03
cmp ebx, 0x30
ja case.0x4641e9.17
movzx eax, byte [ebx + 0x466160]
jmp dword [eax*4 + 0x46614c]
mov ecx, 0x7f01
jmp case.0x4641e9.17
mov ecx, 0x7f02
jmp case.0x4641e9.17
mov ecx, 0x7f04
push ecx
push 0
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [esi + 0x4ec], eax
cmp dword [esi + 0x4ec], 0
je 0x4643d1
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xb
call ebx
mov edi, eax
push 0xc
mov dword [ebp - 0x52c], edi
call ebx
mov ecx, dword [esi + 0xa8]
mov edx, 8
mov dword [ebp - 0x538], eax
test ecx, ecx
mov eax, 0x18
cmovne edx, eax
lea eax, [edx + edi]
add dword [esi + 0xc4], eax
mov eax, dword [esi + 0xcc]
add eax, edx
add edi, eax
mov dword [esi + 0xcc], edi
lea eax, [edi + 8]
mov dword [ebp - 0x224], eax
test ecx, ecx
je 0x46427f
lea eax, [edi + 0x18]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x538]
add eax, 2
add eax, edx
push eax
mov eax, dword [ebp - 0x52c]
add eax, 2
add eax, edx
push eax
push edx
push edx
lea eax, [ebp - 0x23c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x54c], ecx
test ecx, ecx
je 0x4642d2
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x82
mov dword [ecx + 0x1c], 0
jmp 0x4642d4
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
movzx eax, ax
movsx ecx, ax
mov dword [ebx + 0x18], 0x82
mov eax, dword [ebp - 0x23c]
shl eax, 2
cdq
idiv ecx
movsx edi, di
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x238]
shl eax, 3
cdq
idiv edi
push 2
mov word [ebx + 0xe], ax
mov eax, dword [ebp - 0x234]
sub eax, dword [ebp - 0x23c]
shl eax, 2
cdq
idiv ecx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x238]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0x12], ax
mov eax, 0x3e8
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
mov dword [ebx + 4], 0x50000000
call fcn.005460f3
mov ecx, eax
add esp, 4
mov dword [ebx + 0x1c], ecx
mov edx, 0x5ca050
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x464382
inc word [esi + 0x508]
cmp dword [esi + 0xa8], 0
je 0x4643d1
mov eax, dword [ebp - 0x524]
cmp eax, dword [ebp - 0x560]
jle 0x4643d1
mov ecx, dword [esi + 0xd0]
sub ecx, dword [esi + 0xc8]
mov eax, dword [ebp - 0x238]
mov dword [esi + 0xc8], eax
add eax, ecx
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x90]
mov edi, dword [esi + 0xd4]
mov dword [ebp - 0x520], eax
mov dword [esi + 0xa0], eax
inc eax
push 0x20
mov dword [ebp - 0x52c], edi
mov dword [esi + 0x90], eax
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x54c], ecx
test ecx, ecx
je 0x464422
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x82
mov dword [ecx + 0x1c], 0
jmp 0x464424
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
shr eax, 0x10
mov dword [ebp - 0x538], eax
call dword [ebp - 0x51c]
movzx ecx, ax
lea eax, [esi + 0xc4]
mov dword [ebx + 0x18], 0x82
test eax, eax
je 0x4644be
mov eax, dword [eax]
shl eax, 2
cdq
movsx edi, cx
idiv edi
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x538]
movsx ecx, ax
mov eax, dword [esi + 0xc8]
shl eax, 3
cdq
idiv ecx
mov word [ebx + 0xe], ax
mov eax, dword [esi + 0xcc]
sub eax, dword [esi + 0xc4]
shl eax, 2
cdq
idiv edi
mov edi, dword [ebp - 0x52c]
mov word [ebx + 0x10], ax
mov eax, dword [esi + 0xd0]
sub eax, dword [esi + 0xc8]
shl eax, 3
cdq
idiv ecx
movzx eax, ax
jmp 0x4644cc
xor eax, eax
mov dword [ebx + 0xc], eax
mov eax, 0xa
mov word [ebx + 0x10], ax
mov word [ebx + 0x12], ax
mov eax, dword [ebp - 0x520]
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
mov dword [ebx + 4], 0x50000000
test edi, edi
je 0x464502
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4644f1
sub ecx, edx
sar ecx, 1
jmp 0x464504
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
add esp, 4
mov edx, eax
test edi, edi
mov dword [ebx + 0x1c], edx
mov ecx, 0x5ca050
cmovne ecx, edi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x464530
inc word [esi + 0x508]
lea eax, [esi + 0xdc]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x52c], ebx
cmp word [eax], bx
jne 0x46466c
mov ecx, dword [ebp - 0x534]
mov eax, ecx
and eax, 0xf
cmp eax, 9
ja case.default.0x464575
jmp dword [eax*4 + 0x466194]
mov eax, dword [ebp - 0x518]
mov edi, dword [esi + 0x610]
add edi, dword [esi + 0x5f8]
add edi, dword [eax]
jmp 0x464632
mov edi, dword [esi + 0x61c]
add edi, dword [esi + 0x5e4]
jmp 0x46462c
mov eax, dword [ebp - 0x518]
mov ebx, 2
mov edi, dword [esi + 0x5e4]
add edi, dword [eax]
jmp case.default.0x464575
mov edi, dword [esi + 0x5fc]
add edi, dword [esi + 0x5f8]
jmp 0x46462c
mov edi, dword [esi + 0x608]
mov ebx, 1
jmp case.default.0x464575
mov edi, dword [esi + 0x608]
mov ebx, 2
add edi, dword [esi + 0x5e0]
jmp case.default.0x464575
mov edi, dword [esi + 0x610]
mov ebx, 2
add edi, dword [esi + 0x5e0]
jmp case.default.0x464575
mov edi, dword [esi + 0x618]
add edi, dword [esi + 0x614]
jmp 0x46462c
mov edi, dword [esi + 0x620]
mov ebx, 2
add edi, dword [esi + 0x600]
jmp case.default.0x464575
mov edi, dword [esi + 0x620]
add edi, dword [esi + 0x600]
add edi, dword [esi + 0x5e0]
mov ebx, 3
test ecx, 0x8000000
je 0x46464b
test cl, 7
je 0x46464b
add edi, dword [esi + 0x624]
inc ebx
test ecx, 0x10000000
je 0x46472d
test cl, 7
je 0x46472d
add edi, dword [esi + 0x604]
inc ebx
jmp 0x46472d
lea edx, [ebp - 0x20c]
mov ecx, eax
sub edx, eax
jmp 0x464680
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x464680
xor ebx, ebx
lea eax, [ebp - 0x20c]
push ebx
push 0x5cfacc
push eax
call fcn.005962e0
mov edx, eax
add esp, 0xc
test edx, edx
je 0x464727
xor edi, edi
nop
cmp ebx, 4
jge 0x46471f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x538], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4646c0
sub ecx, dword [ebp - 0x538]
lea eax, [ebp - 0x550]
push eax
sar ecx, 1
push ecx
push edx
push dword [ebp - 0x53c]
call dword [ebp - 0x530]
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x540]
add eax, 0x14
cmp eax, ecx
cmovg ecx, eax
cmp dword [esi + 0x68], 0
je 0x464705
add ecx, dword [esi + 0x7c]
push 0
push 0x5cfacc
push 0
add edi, ecx
call fcn.005962e0
mov edx, eax
add esp, 0xc
inc ebx
test edx, edx
jne 0x4646b0
mov dword [ebp - 0x52c], edi
xor edi, edi
mov ecx, dword [ebp - 0x534]
mov eax, ecx
and eax, 0x4000
mov dword [ebp - 0x554], eax
je 0x464743
inc ebx
add edi, dword [esi + 0x5f4]
cmp dword [esi + 0x54], 0
je 0x464750
inc ebx
add edi, dword [esi + 0x60c]
mov eax, ecx
and eax, 0x1000000
mov dword [ebp - 0x538], eax
je 0x464765
or dword [esi + 0x5c], 1
jmp 0x46477f
test ecx, 0x2000000
je 0x464773
or dword [esi + 0x5c], 2
jmp 0x46477f
test ecx, 0x4000000
je 0x46477f
or dword [esi + 0x5c], 4
mov eax, dword [esi + 0xd0]
mov ecx, dword [ebp - 0x230]
cmp eax, ecx
cmovg ecx, eax
add ecx, 5
cmp dword [esi + 0x4ec], 0
jne 0x4647a7
cmp dword [esi + 0x4fc], 0
mov edx, ecx
je 0x4647ac
lea edx, [ecx + 9]
mov ecx, edx
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*2]
mov edi, dword [ebp - 0x52c]
add edi, 0xfffffffa
add edi, eax
mov eax, dword [esi + 0x80]
add eax, edx
mov dword [ebp - 0x210], edi
push eax
push edi
push ecx
push 0
lea eax, [ebp - 0x24c]
push eax
call dword [ebp - 0x528]
cmp dword [esi + 0x64], ebx
jle 0x4647e9
mov dword [esi + 0x64], 1
cmp dword [ebp - 0x538], 0
je 0x4647f9
mov ebx, 3
jmp 0x464819
mov eax, dword [ebp - 0x534]
test eax, 0x2000000
je 0x46480d
mov ebx, 4
jmp 0x464819
test eax, 0x4000000
je 0x46482e
mov ebx, 5
mov dword [ebp - 0x52c], ebx
mov ebx, dword [esi + ebx*4 + 0x5dc]
add ebx, dword [esi + 0x84]
jmp 0x46483a
xor ebx, ebx
mov dword [ebp - 0x52c], 0xffffffff
mov edx, dword [ebp - 0x244]
sub edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x224]
add eax, 0xc
mov edi, dword [ebp - 0x22c]
mov dword [ebp - 0x220], eax
lea eax, [edx + 0x20]
cmp ecx, eax
mov dword [ebp - 0x538], ebx
cmovle ecx, eax
mov eax, ecx
mov dword [ebp - 0x224], ecx
sub eax, edi
cmp eax, ebx
jge 0x464886
lea ecx, [ebx + 0x10]
mov dword [ebp - 0x224], ecx
mov eax, ecx
sub eax, edi
mov edi, dword [ebp - 0x248]
sub eax, edx
mov dword [ebp - 0x524], edi
cdq
sub eax, edx
mov dword [ebp - 0x54c], edi
sar eax, 1
cmp dword [esi + 0xa4], 0
mov ebx, eax
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x520], eax
je 0x4648d1
sub ecx, dword [ebp - 0x210]
lea eax, [ecx - 0x10]
mov dword [ebp - 0x518], eax
mov ebx, eax
mov dword [ebp - 0x520], eax
cmp word [esi + 0xdc], 0
jne 0x465e52
mov ecx, dword [ebp - 0x534]
and ecx, 0xf
cmp ecx, 9
ja case.default.0x4648f1
jmp dword [ecx*4 + 0x4661bc]
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x608]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x30c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x464945
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x464947
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
movzx eax, ax
movsx ecx, ax
mov dword [ebx + 0x18], 0x80
mov eax, dword [ebp - 0x30c]
shl eax, 2
cdq
idiv ecx
movsx edi, di
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x308]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0xe], ax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
shl eax, 2
cdq
idiv ecx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x300]
sub eax, dword [ebp - 0x308]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0x12], ax
mov eax, 1
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ebx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x4649fd
mov dword [ebx + 4], 0x50010001
mov dword [esi + 0x94], 1
lea edi, [esi + 0xec0]
test edi, edi
je 0x464a21
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464a10
sub ecx, edx
sar ecx, 1
jmp 0x464a23
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
add esp, 4
mov edx, eax
test edi, edi
mov dword [ebx + 0x1c], edx
mov ecx, 0x5ca050
cmovne ecx, edi
mov edi, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x464a50
inc word [esi + 0x508]
mov edx, dword [ebp - 0x518]
mov ebx, dword [esi + 0x608]
add edx, 6
add ebx, edx
or dword [esi + 0x5c], 0x10
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x608]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x2fc]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x464ad5
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x464ad7
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
movzx eax, ax
movsx ecx, ax
mov dword [ebx + 0x18], 0x80
mov eax, dword [ebp - 0x2fc]
shl eax, 2
cdq
idiv ecx
movsx edi, di
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x2f8]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0xe], ax
mov eax, dword [ebp - 0x2f4]
sub eax, dword [ebp - 0x2fc]
shl eax, 2
cdq
idiv ecx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f8]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0x12], ax
mov eax, 1
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ebx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x464b8d
mov dword [ebx + 4], 0x50010001
mov dword [esi + 0x94], 1
lea edi, [esi + 0xec0]
test edi, edi
je 0x464bb1
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464ba0
sub ecx, edx
sar ecx, 1
jmp 0x464bb3
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov dword [ebx + 0x1c], edx
test edi, edi
mov ebx, 0x5ca050
mov ecx, ebx
cmovne ecx, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x464be0
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
mov edx, dword [ebp - 0x518]
inc word [esi + 0x508]
add edx, 6
add edx, dword [esi + 0x608]
push eax
mov eax, dword [esi + 0x5e0]
add eax, edx
mov dword [ebp - 0x210], edx
push eax
push ecx
push edx
lea eax, [ebp - 0x2ec]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x540], ecx
test ecx, ecx
je 0x464c60
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x464c62
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x2ec]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x2e8]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2ec]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e8]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 2
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x464d36
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 2
lea edi, [esi + 0x6f0]
test edi, edi
je 0x464d56
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464d45
sub ecx, edx
sar ecx, 1
jmp 0x464d58
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
cmovne ebx, edi
mov dword [eax + 0x1c], ecx
movzx eax, word [ebx]
lea ebx, [ebx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x464d84
mov ecx, dword [ebp - 0x210]
mov ebx, dword [esi + 0x5e0]
add ecx, 6
inc word [esi + 0x508]
add ebx, ecx
or dword [esi + 0x5c], 8
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x620]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x2dc]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x464e09
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x464e0b
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
movzx eax, ax
movsx ecx, ax
mov dword [ebx + 0x18], 0x80
mov eax, dword [ebp - 0x2dc]
shl eax, 2
cdq
idiv ecx
movsx edi, di
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x2d8]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0xe], ax
mov eax, dword [ebp - 0x2d4]
sub eax, dword [ebp - 0x2dc]
shl eax, 2
cdq
idiv ecx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x2d0]
sub eax, dword [ebp - 0x2d8]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0x12], ax
mov eax, 6
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ebx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x464ec1
mov dword [ebx + 4], 0x50010001
mov dword [esi + 0x94], 6
lea edi, [esi + 0x1370]
test edi, edi
je 0x464ee1
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464ed0
sub ecx, edx
sar ecx, 1
jmp 0x464ee3
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov dword [ebx + 0x1c], edx
test edi, edi
mov ebx, 0x5ca050
mov ecx, ebx
cmovne ecx, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x464f10
inc word [esi + 0x508]
mov edx, dword [ebp - 0x518]
mov edi, dword [esi + 0x620]
add edx, 6
add edi, edx
test dword [ebp - 0x534], 0x8000000
mov dword [ebp - 0x530], edi
mov edx, edi
je 0x465100
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x624]
add eax, edi
push eax
push ecx
push edi
lea eax, [ebp - 0x2cc]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x464fa4
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x464fa6
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x2cc]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x2c8]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x2c4]
sub eax, dword [ebp - 0x2cc]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2c0]
sub eax, dword [ebp - 0x2c8]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 0x13
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x46507a
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 0x13
lea edi, [esi + 0x1438]
test edi, edi
je 0x4650a1
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465090
sub ecx, edx
sar ecx, 1
jmp 0x4650a3
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
mov ecx, ebx
cmovne ecx, edi
mov dword [eax + 0x1c], edx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4650d1
mov edi, dword [ebp - 0x530]
inc word [esi + 0x508]
add edi, 6
add edi, dword [esi + 0x624]
mov dword [ebp - 0x530], edi
mov edx, edi
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x600]
add eax, edx
push eax
push ecx
push edx
lea eax, [ebp - 0x2bc]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x465153
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x465155
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x2bc]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x2b8]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x2b4]
sub eax, dword [ebp - 0x2bc]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2b0]
sub eax, dword [ebp - 0x2b8]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 7
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x465229
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 7
lea edi, [esi + 0xd30]
test edi, edi
je 0x465251
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x465240
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465240
sub ecx, edx
sar ecx, 1
jmp 0x465253
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
cmovne ebx, edi
mov dword [eax + 0x1c], ecx
nop
movzx eax, word [ebx]
lea ebx, [ebx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x465280
inc word [esi + 0x508]
mov ecx, dword [ebp - 0x530]
mov ebx, dword [esi + 0x600]
add ecx, 6
add ebx, ecx
test dword [ebp - 0x534], 0x10000000
mov dword [ebp - 0x520], ebx
je 0x465f8b
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x604]
add eax, ebx
push eax
push ecx
push ebx
lea eax, [ebp - 0x2ac]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x465312
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x465314
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x2ac]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x2a8]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2ac]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2a0]
sub eax, dword [ebp - 0x2a8]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 0x14
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x4653e8
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 0x14
lea edi, [esi + 0xdf8]
test edi, edi
je 0x465408
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4653f7
sub ecx, edx
sar ecx, 1
jmp 0x46540a
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
mov ecx, 0x5ca050
cmovne ecx, edi
mov dword [eax + 0x1c], edx
jmp 0x465440
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x465440
inc word [esi + 0x508]
mov eax, dword [esi + 0x604]
add eax, 6
add ebx, eax
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x620]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x29c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x4654bb
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x4654bd
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov ebx, dword [esi + eax*4 + 4]
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
movzx eax, ax
movsx ecx, ax
mov dword [ebx + 0x18], 0x80
mov eax, dword [ebp - 0x29c]
shl eax, 2
cdq
idiv ecx
movsx edi, di
mov word [ebx + 0xc], ax
mov eax, dword [ebp - 0x298]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0xe], ax
mov eax, dword [ebp - 0x294]
sub eax, dword [ebp - 0x29c]
shl eax, 2
cdq
idiv ecx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x298]
shl eax, 3
cdq
idiv edi
mov word [ebx + 0x12], ax
mov eax, 6
mov dword [ebx + 8], 0
mov word [ebx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ebx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x465573
mov dword [ebx + 4], 0x50010001
mov dword [esi + 0x94], 6
lea edi, [esi + 0x1370]
test edi, edi
je 0x465593
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465582
sub ecx, edx
sar ecx, 1
jmp 0x465595
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov dword [ebx + 0x1c], edx
test edi, edi
mov ebx, 0x5ca050
mov ecx, ebx
cmovne ecx, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4655c2
inc word [esi + 0x508]
mov edx, dword [ebp - 0x518]
mov edi, dword [esi + 0x620]
add edx, 6
add edi, edx
test dword [ebp - 0x534], 0x8000000
mov dword [ebp - 0x530], edi
mov edx, edi
je 0x4657b0
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x624]
add eax, edi
push eax
push ecx
push edi
lea eax, [ebp - 0x28c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x465656
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x465658
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x28c]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x288]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x28c]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x288]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 0x13
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x46572c
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 0x13
lea edi, [esi + 0x1438]
test edi, edi
je 0x465751
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x465740
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465740
sub ecx, edx
sar ecx, 1
jmp 0x465753
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
mov ecx, ebx
cmovne ecx, edi
mov dword [eax + 0x1c], edx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x465781
mov edi, dword [ebp - 0x530]
inc word [esi + 0x508]
add edi, 6
add edi, dword [esi + 0x624]
mov dword [ebp - 0x530], edi
mov edx, edi
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x600]
add eax, edx
push eax
push ecx
push edx
lea eax, [ebp - 0x27c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x465803
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x465805
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x27c]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x278]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x27c]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 7
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x4658d9
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 7
lea edi, [esi + 0xd30]
test edi, edi
je 0x465901
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x4658f0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4658f0
sub ecx, edx
sar ecx, 1
jmp 0x465903
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
mov ecx, ebx
cmovne ecx, edi
mov dword [eax + 0x1c], edx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x465931
mov ecx, dword [ebp - 0x530]
inc word [esi + 0x508]
add ecx, 6
mov edi, dword [esi + 0x600]
add edi, ecx
test dword [ebp - 0x534], 0x10000000
mov dword [ebp - 0x530], edi
mov edx, edi
je 0x465b20
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x604]
add eax, edi
push eax
push ecx
push edi
lea eax, [ebp - 0x26c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x4659c5
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x4659c7
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x26c]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x268]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x26c]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x268]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 0x14
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x465a9b
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 0x14
lea edi, [esi + 0xdf8]
test edi, edi
je 0x465ac1
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465ab0
sub ecx, edx
sar ecx, 1
jmp 0x465ac3
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
mov ecx, ebx
cmovne ecx, edi
mov dword [eax + 0x1c], edx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x465af1
mov edi, dword [ebp - 0x530]
inc word [esi + 0x508]
add edi, 6
add edi, dword [esi + 0x604]
mov dword [ebp - 0x530], edi
mov edx, edi
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
mov eax, dword [esi + 0x5e0]
add eax, edx
push eax
push ecx
push edx
lea eax, [ebp - 0x25c]
push eax
call dword [ebp - 0x528]
push 0x20
call fcn.005460b6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x210], ecx
test ecx, ecx
je 0x465b73
mov dword [ecx], vtable.CXDialogItem.0
mov dword [ecx + 0x18], 0x80
mov dword [ecx + 0x1c], 0
jmp 0x465b75
xor ecx, ecx
movzx eax, word [esi + 0x508]
mov dword [esi + eax*4 + 4], ecx
movzx eax, word [esi + 0x508]
mov eax, dword [esi + eax*4 + 4]
mov dword [ebp - 0x518], eax
call dword [ebp - 0x51c]
mov edi, eax
shr edi, 0x10
call dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x518]
movzx eax, ax
movsx edi, di
mov dword [ecx + 0x18], 0x80
movsx ecx, ax
mov eax, dword [ebp - 0x25c]
shl eax, 2
cdq
idiv ecx
mov edx, dword [ebp - 0x518]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x258]
shl eax, 3
cdq
idiv edi
mov edx, dword [ebp - 0x518]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x254]
sub eax, dword [ebp - 0x25c]
shl eax, 2
cdq
idiv ecx
mov ecx, dword [ebp - 0x518]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x258]
shl eax, 3
cdq
idiv edi
mov word [ecx + 0x12], ax
mov eax, 2
mov dword [ecx + 8], 0
mov word [ecx + 0x14], ax
inc dword [esi + 0x60]
mov dword [ecx + 4], 0x50010000
mov eax, dword [esi + 0x60]
cmp eax, dword [esi + 0x64]
jne 0x465c49
mov dword [ecx + 4], 0x50010001
mov dword [esi + 0x94], 2
lea edi, [esi + 0x6f0]
test edi, edi
je 0x465c71
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x465c60
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465c60
sub ecx, edx
sar ecx, 1
jmp 0x465c73
xor ecx, ecx
lea eax, [ecx + 1]
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005460f3
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x518]
test edi, edi
cmovne ebx, edi
mov dword [eax + 0x1c], ecx
nop
movzx eax, word [ebx]
lea ebx, [ebx + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x465ca0
mov ecx, dword [ebp - 0x530]
mov ebx, dword [esi + 0x5e0]
add ecx, 6
inc word [esi + 0x508]
add ebx, ecx
or dword [esi + 0x5c], 8
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
push edi
push eax
push 3
push 0
mov ecx, esi
call fcn.00466310
mov ecx, esi
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 4
push 0xd
call fcn.00466310
push ebx
add edi, eax
mov ecx, esi
push edi
push 5
push 7
call fcn.00466310
lea ebx, [eax + edi]
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
push edi
push eax
push 4
push 0xd
mov ecx, esi
call fcn.00466310
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 2
push 1
mov ecx, esi
call fcn.00466310
or dword [esi + 0x5c], 8
lea ebx, [eax + edi]
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
push edi
push eax
push 0xb
push 2
mov ecx, esi
call fcn.00466310
mov ecx, esi
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 3
push 0
call fcn.00466310
lea ebx, [eax + edi]
mov dword [ebp - 0x520], ebx
jmp 0x465f8b
push edi
push eax
push 2
push 1
mov ecx, esi
call fcn.00466310
mov ecx, esi
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 0xa
push 0x10
call fcn.00466310
push ebx
add edi, eax
push edi
push 0xb
push 2
jmp 0x465d34
push edi
push eax
push 0xe
push 0xe
mov ecx, esi
call fcn.00466310
mov ecx, esi
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 0xf
push 0xf
call fcn.00466310
add edi, eax
jmp 0x465d2e
push edi
push eax
push 5
push 7
mov ecx, esi
call fcn.00466310
mov ecx, esi
lea edi, [eax + ebx]
mov ebx, dword [ebp - 0x524]
push ebx
push edi
push 0x10
push 8
call fcn.00466310
add edi, eax
jmp 0x465d2e
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x608]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x21c]
push eax
call dword [ebp - 0x528]
lea eax, [esi + 0xec0]
mov ecx, esi
push eax
lea eax, [ebp - 0x21c]
push eax
push 1
push 0x80
call fcn.00466560
mov eax, dword [esi + 0x608]
add eax, 6
add ebx, eax
mov dword [ebp - 0x520], ebx
jmp 0x465f91
or dword [esi + 0x5c], 8
lea eax, [ebp - 0x20c]
push 0x208
push 0
push eax
call fcn.0057e5f0
push 0x103
lea eax, [esi + 0xdc]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0059629f
xor eax, eax
push eax
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x20c]
push 0x5cfacc
push eax
call fcn.005962e0
mov edx, eax
add esp, 0x24
mov dword [ebp - 0x51c], edx
test edx, edx
je 0x465f91
xor eax, eax
cmp eax, 4
jge 0x465f8b
mov ecx, edx
lea edi, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x465ec0
sub ecx, edi
lea eax, [ebp - 0x214]
push eax
sar ecx, 1
push ecx
push edx
push dword [ebp - 0x53c]
call dword [ebp - 0x530]
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x540]
add eax, 0x14
cmp eax, ecx
cmovg ecx, eax
cmp dword [esi + 0x68], 0
je 0x465f01
add ecx, dword [esi + 0x7c]
mov edx, dword [ebp - 0x518]
mov eax, dword [esi + 0x80]
lea edi, [ecx + edx]
mov ecx, dword [ebp - 0x524]
add eax, ecx
push eax
push edi
push ecx
push edx
lea eax, [ebp - 0x31c]
push eax
call dword [ebp - 0x528]
push dword [ebp - 0x51c]
lea eax, [ebp - 0x31c]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x534]
add eax, 0x17
push eax
push 0x80
call fcn.00466560
push 0
lea eax, [edi + 6]
push 0x5cfacc
push 0
mov dword [ebp - 0x518], eax
mov ebx, eax
mov dword [ebp - 0x520], eax
call fcn.005962e0
mov edx, eax
add esp, 0xc
mov eax, dword [ebp - 0x534]
inc eax
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x534], eax
test edx, edx
jne 0x465eb0
mov edi, dword [ebp - 0x524]
cmp dword [ebp - 0x554], 0
je 0x465feb
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x5f4]
add eax, ebx
push eax
push edi
push ebx
lea eax, [ebp - 0x21c]
push eax
call dword [ebp - 0x528]
lea eax, [esi + 0xad8]
mov ecx, esi
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x12c
push 0x80
call fcn.00466560
mov eax, dword [esi + 0x5f4]
add eax, 6
add ebx, eax
mov dword [ebp - 0x520], ebx
cmp dword [esi + 0x54], 0
je 0x466046
mov eax, dword [esi + 0x80]
add eax, edi
push eax
mov eax, dword [esi + 0x60c]
add eax, ebx
push eax
push edi
mov edi, dword [ebp - 0x528]
lea eax, [ebp - 0x21c]
push ebx
push eax
call edi
lea eax, [esi + 0xf88]
mov ecx, esi
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x12d
push 0x80
call fcn.00466560
mov eax, dword [esi + 0x60c]
add eax, 6
add eax, ebx
mov dword [ebp - 0x520], eax
jmp 0x46604c
mov edi, dword [ebp - 0x528]
mov ebx, dword [ebp - 0x52c]
cmp ebx, 0xffffffff
je 0x4660af
push dword [esi + 0x84]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x538]
push 0
push 0
push eax
call edi
imul eax, ebx, 0xc8
mov ecx, esi
add eax, 0x628
add eax, esi
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x520]
push eax
call fcn.00466390
mov eax, dword [ebp - 0x240]
mov edi, dword [ebp - 0x220]
cmp eax, edi
jl 0x4660c8
lea edi, [eax + 0x10]
mov dword [ebp - 0x220], edi
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x224]
add eax, 0x10
cmp ecx, eax
mov ebx, dword [ebp - 0x53c]
push dword [ebp - 0x55c]
cmovl ecx, eax
xor eax, eax
mov dword [ebp - 0x224], ecx
sub ecx, dword [ebp - 0x22c]
mov dword [esi + 0x50a], eax
shl ecx, 2
mov eax, ecx
sub edi, dword [ebp - 0x228]
cdq
idiv dword [ebp - 0x548]
shl edi, 3
mov word [esi + 0x50e], ax
mov eax, edi
cdq
idiv dword [ebp - 0x544]
push ebx
mov word [esi + 0x510], ax
call dword [ebp - 0x558]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0057b6ac
mov esp, ebp
pop ebp
ret 0x14