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

Disassembly:
sub esp, 0x8a4
push ebx
push ebp
mov ebx, ecx
xor ebp, ebp
cmp ebx, ebp
mov dword [esp + 0xc], ebx
je 0x45b343
mov ecx, dword [ebx + 0x1004]
call fcn.004e2760
test eax, eax
jne 0x45b34e
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
push esi
mov esi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
push edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [ebx + 0x170], ebp
call esi
movzx eax, ax
mov dword [esp + 0x4c], eax
call esi
mov esi, dword [0x5aec30]
mov edi, dword [sym.imp.USER32.dll_SetRect]
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x74]
shr eax, 0x10
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x40], ebp
call edi
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x2c]
push edx
call edi
mov eax, dword [ebx + 0xffc]
cmp eax, ebp
je 0x45b3d0
cmp esi, ebp
je 0x45b3c6
cmp dword [esi + 0x2c], eax
je 0x45b3fe
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x45b3b6
mov dword [esp + 0x10], esi
mov esi, dword [0x5aec30]
mov dword [esp + 0x10], esi
cmp esi, ebp
je 0x45b5c7
jmp 0x45b3e0
mov eax, dword [esp + 0x2c]
cmp eax, 1
jne 0x45b408
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [ebx + 0xffc]
jne 0x45b5d2
jmp 0x45b420
mov dword [esp + 0x2c], 1
jmp 0x45b3cc
cmp eax, 2
jne 0x45b420
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, dword [ebx + 0xffc]
je 0x45b59e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x45b59e
mov edx, ecx
mov eax, dword [edx + 0x30]
test eax, eax
mov dword [esp + 0x34], eax
je 0x45b59e
mov ecx, dword [eax + 0x28]
test ecx, ecx
jne 0x45b59e
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax], 0x20
jne 0x45b45d
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45b454
cmp byte [eax], 0
je 0x45b59e
push 0x20
push eax
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x45b59e
cmp byte [edi], 0x20
jne 0x45b488
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x45b480
cmp byte [edi], 0
je 0x45b59e
push 3
push 0x583f70
push edi
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x45b4bb
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, dword [ebx + 0xffc]
jne 0x45b59e
add edi, 3
push 0x20
push edi
call fcn.00570260
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x45b59e
lea eax, [ebx + 0x64]
push eax
push edi
mov byte [ebp], 0
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45b55e
push 1
push 0
lea edx, [ebx + 0x64]
mov ecx, edi
call fcn.00542310
test eax, eax
jne 0x45b55e
push 0x2c
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45b50b
mov byte [esi], 0
lea eax, [ebx + 0x64]
push eax
push edi
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45b557
push 1
push 0
lea edx, [ebx + 0x64]
mov ecx, edi
call fcn.00542310
test eax, eax
jne 0x45b557
test esi, esi
je 0x45b551
mov byte [esi], 0x2c
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45b548
lea ecx, [ecx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45b540
cmp byte [esi], 0
je 0x45b551
mov edi, esi
jmp 0x45b4f7
mov byte [ebp], 0x20
jmp 0x45b59e
test esi, esi
je 0x45b55e
mov byte [esi], 0x2c
mov byte [ebp], 0x20
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x45d676
cmp byte [ebp], 0x20
jne 0x45b57e
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x45b576
cmp byte [ebp], 0x7b
jne 0x45b59e
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
jne 0x45b598
lea esp, [esp]
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x45b590
cmp byte [ebp], 0
je 0x45b5ea
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x40]
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
je 0x45b5c7
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x45b5e1
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x45b5b5
mov dword [esp + 0x10], eax
cmp dword [esp + 0x2c], 1
jne 0x45d610
mov dword [esp + 0x2c], 2
xor ebp, ebp
jmp 0x45b3c6
mov dword [esp + 0x10], eax
jmp 0x45b3e0
mov edx, dword [esp + 0x34]
mov eax, dword [ebx + 0xc8]
mov esi, dword [edx + 0x40]
push 0
push 0
push 0x31
push eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x84], 1
call dword [sym.imp.USER32.dll_SendMessageA]
test esi, esi
mov dword [esp + 0x7c], eax
je 0x45d589
nop
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x45d562
mov edx, dword [esp + 0x74]
mov ecx, dword [esi]
push 0
call fcn.004f5b50
test eax, eax
mov dword [esp + 0x74], eax
je 0x45d57d
mov eax, dword [esi]
cmp byte [eax], 0x20
jne 0x45b669
jmp 0x45b660
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45b660
cmp byte [eax], 0
je 0x45d562
mov edx, 0x5a0bc8
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45b680
push 0x20
push 0x5a0bc8
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x45d562
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
jne 0x45b6b8
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x45b6b0
cmp byte [edi], 0
je 0x45d562
push str.title
push 0x5a0bc8
mov esi, 0x583b74
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45b790
cmp byte [edi], 0x22
jne 0x45b711
inc edi
push 0x22
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x45d40e
mov edx, 0x5aa640
mov byte [eax], 0
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45b705
jmp 0x45b756
mov edx, 0x5aa640
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45b720
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5aa640
call fcn.00480140
test eax, eax
je 0x45d40e
mov al, byte [0x5aa640]
test al, al
jne 0x45b775
mov edx, dword [0x5837f0]
mov al, byte [0x5837f4]
mov dword [0x5aa640], edx
mov byte [0x5aa644], al
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc8]
push 0x5aa640
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x45d562
push str.icon
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45b8e8
mov edx, 0x5aaa28
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45b7b3
cmp byte [0x5aaa28], 0x22
jne 0x45b823
push 0x22
push 0x5aaa29
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45d40e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45b7f8
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45b7f0
cmp byte [esi], 0x2c
jne 0x45b80d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45b80d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45b805
xor eax, eax
nop
mov cl, byte [eax + 0x5aaa29]
mov byte [eax + 0x5aa640], cl
inc eax
test cl, cl
jne 0x45b810
jmp 0x45b89e
push 0x2c
push 0x5aaa28
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45b85a
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45b84b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45b843
cmp byte [esi], 0
je 0x45d40e
mov ebx, dword [esp + 0x14]
jmp 0x45b85f
mov esi, 0x583b74
xor eax, eax
mov cl, byte [eax + 0x5aaa28]
mov byte [eax + 0x5aa640], cl
inc eax
test cl, cl
jne 0x45b861
mov eax, dword [ebx + 0x1004]
mov edx, dword [ebx + 0xffc]
mov ecx, dword [eax]
push eax
push edx
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5aa640
call fcn.00480140
test eax, eax
je 0x45d40e
mov ecx, 0x5aa640
call fcn.004f4570
test eax, eax
jne 0x45b8e4
test esi, esi
je 0x45b8c2
cmp byte [esi], 0
je 0x45b8c2
push esi
call fcn.005705cb
add esp, 4
test eax, eax
jge 0x45b8c4
xor eax, eax
mov ebx, dword [esp + 0x14]
push 0
push 0
push 0
push 1
push eax
push 0x5aa640
xor edx, edx
mov ecx, ebx
call fcn.0045a2f0
jmp 0x45d562
mov ebx, dword [esp + 0x14]
push str.size
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45b9e1
mov edx, 0x5aa640
mov eax, edi
sub edx, edi
jmp 0x45b910
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45b910
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5aa640
call fcn.00480140
test eax, eax
je 0x45d40e
xor eax, eax
jmp 0x45b950
mov cl, byte [eax + 0x5aa640]
mov byte [eax + 0x5a0bc8], cl
inc eax
test cl, cl
jne 0x45b950
mov ecx, dword [esp + 0x14]
lea edx, [ecx + 0xd0]
push edx
mov edx, 0x5a0bc8
call fcn.0045b0d0
test eax, eax
je 0x45d40e
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x45b9ab
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x45b9ab
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x45b9d4
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x45b9d4
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebx + 0xdc], eax
mov dword [esp + 0x60], 1
jmp 0x45d562
push str.option
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45bb0e
mov edx, 0x5aa640
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45ba04
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5aa640
call fcn.00480140
test eax, eax
je 0x45d40e
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x5aa640]
mov byte [eax + 0x5a0bc8], cl
inc eax
test cl, cl
jne 0x45ba40
push 0x5a0bc8
call fcn.00580fc6
push 0x58640c
push 0x5a0bc8
call fcn.00570b40
mov ebx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x45bac5
mov eax, dword [esp + 0x60]
test eax, eax
mov dword [ebx + 0x170], 1
je 0x45bac5
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x45baa6
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x45bac5
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebx + 0xdc], eax
push str.pixels
push 0x5a0bc8
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45bae5
mov dword [ebx + 0x170], 0
push str.notheme
push 0x5a0bc8
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45d562
mov dword [ebx + 0x15c], 1
jmp 0x45d562
push str.list
push 0x5a0bc8
mov dword [esp + 0x20], 0
mov byte [0x5aaa28], 0
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bcbc
push str.combo
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bcbc
push str.icon
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bcbc
cmp byte [edi], 0x22
jne 0x45bc05
inc edi
push 0x22
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45d40e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45bb9d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45bb95
cmp byte [esi], 0x2c
jne 0x45bbb8
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45bbb8
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45bbb0
cmp byte [esi], 0
jne 0x45bbed
push 0x5863e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bbed
push str.item
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45d40e
mov edx, 0x5aaa28
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45bbf6
jmp 0x45bcb6
push 0x2c
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45bc38
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45bc29
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45bc21
cmp byte [esi], 0
je 0x45d40e
mov ebx, dword [esp + 0x14]
jmp 0x45bc71
push 0x5863e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bc6c
push str.item
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45d40e
mov ebx, dword [esp + 0x14]
mov esi, 0x583b74
mov edx, 0x5aaa28
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45bc80
mov eax, dword [ebx + 0x1004]
mov edx, dword [ebx + 0xffc]
mov ecx, dword [eax]
push eax
push edx
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5aaa28
call fcn.00480140
test eax, eax
je 0x45d40e
mov ebx, dword [esp + 0x14]
mov edi, esi
push 0x5863d8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45bcf2
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45bcf2
cmp byte [edi], 0
mov esi, edi
je 0x45bd7a
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45bce5
jmp 0x45bd7a
push 0x5863e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bd69
push str.item
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bd69
push 0x2c
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45d40e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45bd48
mov edi, edi
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45bd40
cmp byte [esi], 0
je 0x45d40e
push 0x20
push edi
call fcn.00570260
mov ebx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x45bd7a
mov byte [eax], 0
jmp 0x45bd7a
test esi, esi
je 0x45bf51
cmp byte [esi], 0
je 0x45bf51
lea edx, [esp + 0xe4]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45bd85
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x100]
call fcn.00480140
test eax, eax
je 0x45d40e
lea edx, [esp + 0xe4]
push edx
call fcn.005705cb
mov edi, eax
add esp, 4
cmp edi, 1
jl 0x45d61d
cmp edi, 0xbb8
jg 0x45d61d
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc8]
add edi, 0x1770
push edi
push eax
mov dword [esp + 0x20], edi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x45d5ea
mov edx, edi
mov ecx, ebx
call fcn.0045b000
test eax, eax
jne 0x45d5ea
push 0x5863d8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45becc
mov eax, dword [esp + 0x30]
cmp eax, 0x28
jge 0x45d40e
test eax, eax
je 0x45be69
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x45bf08
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1c]
push edx
mov edx, esi
call fcn.0045b0d0
mov edx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x24]
add edx, 5
cmp eax, 0xa
mov dword [esp + 0x20], edx
jge 0x45be94
mov eax, 0xa
mov ecx, dword [esp + 0x28]
cmp ecx, 0x19
jge 0x45bea2
mov ecx, 0x19
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x28], 8
jmp 0x45bf08
push 0x5863e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bf08
push str.item
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45bf08
lea eax, [esp + 0x1c]
push eax
mov edx, esi
mov ecx, ebx
call fcn.0045b0d0
mov esi, eax
test esi, esi
je 0x45d40e
push 0x2c
push esi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x45bf48
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45bf38
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45bf30
cmp byte [esi], 0
je 0x45bf4d
push esi
call fcn.00580fc6
add esp, 4
jmp 0x45bf4d
mov esi, 0x583b74
mov ebx, dword [esp + 0x14]
xor eax, eax
push str.disable
mov edi, 0x40000000
push esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], eax
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45bf8b
mov edi, 0x48000000
mov dword [esp + 0x10], edi
push 0x5842a0
push esi
call fcn.00570b40
add esp, 8
test eax, eax
jne 0x45bfa7
or edi, 0x10000000
mov dword [esp + 0x10], edi
push str.group
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45bfc3
or edi, 0x20000
mov dword [esp + 0x10], edi
push str.result
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45bfdf
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xe8], ecx
mov edx, dword [esp + 0x18]
push edx
mov edx, esi
mov ecx, ebx
call fcn.0045b1c0
test eax, eax
je 0x45d40e
push 0x5863d8
push esi
call fcn.00570b40
push 0x5863d8
push 0x5a0bc8
mov dword [esp + 0x88], eax
call fcn.005809c6
add esp, 0x10
test eax, eax
jne 0x45c04e
mov eax, dword [str.Static]
mov cx, word [0x5863c4]
mov dl, byte [0x5863c6]
mov dword [0x5aa640], eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
mov dword [esp + 0x10], 0x48000000
jmp 0x45cf1b
push 0x5863e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c1b4
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xfe0]
test eax, eax
jne 0x45c0a9
mov eax, dword [ebx + 0xc8]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
test eax, eax
jne 0x45c095
call dword [sym.imp.USER32.dll_CreateMenu]
test eax, eax
je 0x45d40e
mov ecx, dword [ebx + 0xc8]
push eax
push ecx
mov dword [ebx + 0xfe0], eax
call dword [sym.imp.USER32.dll_SetMenu]
cmp byte [esi], 0
mov edx, dword [ebx + 0xfe0]
mov dword [esp + 0x50], edx
je 0x45c12a
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45c0c3
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x100]
call fcn.00480140
test eax, eax
je 0x45d40e
lea edx, [esp + 0xe4]
push edx
call fcn.005705cb
mov ecx, dword [esp + 0x18]
mov edx, eax
add esp, 4
add edx, 0x1770
call fcn.0045b060
test eax, eax
mov dword [esp + 0x50], eax
je 0x45d40e
mov ebx, ecx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
test esi, esi
je 0x45c1a8
push 0xc
call fcn.00570098
add esp, 4
test eax, eax
je 0x45c1a8
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
add ecx, 0xffffe890
mov dword [eax], esi
mov dword [eax + 8], 0
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0xfe4]
test ecx, ecx
jne 0x45c170
mov dword [ebx + 0xfe4], eax
jmp 0x45c180
mov edx, dword [ecx + 8]
test edx, edx
je 0x45c17d
mov ecx, edx
test ecx, ecx
jne 0x45c170
mov dword [ecx + 8], eax
push 0
mov edx, 0x10
mov ecx, 0x5aaa28
call fcn.004d2660
push 0x5aaa28
push esi
push eax
mov eax, dword [esp + 0x5c]
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
jmp 0x45d562
push esi
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x45d562
push str.item
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c37d
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xfe0]
test eax, eax
je 0x45d40e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45d40e
mov al, byte [esi]
xor ebx, ebx
test al, al
je 0x45c2c6
movzx edx, al
push edx
call fcn.00570e57
add esp, 4
test eax, eax
je 0x45c225
push 0x2c
push esi
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x45c25b
mov byte [edi], bl
mov al, byte [edi + 1]
inc edi
test al, al
je 0x45c25b
jmp 0x45c227
mov edi, esi
test edi, edi
je 0x45c25b
push 0x5863bc
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c244
mov ebx, 1
jmp 0x45c25b
push str.cancel
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c25b
mov ebx, 2
cmp byte [esi], 0
je 0x45c2c6
mov ecx, esi
call fcn.004f4570
test eax, eax
je 0x45c2c6
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45c276
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x100]
call fcn.00480140
test eax, eax
je 0x45d40e
lea edx, [esp + 0xe4]
push edx
call fcn.005705cb
add esp, 4
mov esi, eax
jmp 0x45c2d4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x45d40e
mov esi, eax
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x1770]
call fcn.0045b060
mov edi, eax
test edi, edi
je 0x45d40e
mov al, byte [0x5aaa28]
test al, al
mov dword [esp + 0x54], esi
jne 0x45c303
mov word [0x5aaa28], 0x20
push str.break
push 0x5aaa28
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c331
push 0x583b74
push eax
push 0x800
push edi
call dword [sym.imp.USER32.dll_AppendMenuA]
mov esi, dword [esp + 0x18]
jmp 0x45c351
push 0
xor edx, edx
mov ecx, 0x5aaa28
call fcn.004d2660
mov esi, dword [esp + 0x18]
push 0x5aaa28
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_AppendMenuA]
cmp ebx, 1
jne 0x45c365
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0xe0], esi
jmp 0x45d562
cmp ebx, 2
mov ebx, dword [esp + 0x14]
jne 0x45d562
mov dword [ebx + 0xe4], esi
jmp 0x45d562
push str.text
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c419
mov eax, dword [str.Static]
mov cx, word [0x5863c4]
mov dl, byte [0x5863c6]
push str.center
push esi
mov dword [0x5aa640], eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c3d9
or edi, 1
mov dword [esp + 0x10], edi
jmp 0x45cf1b
push 0x5863a4
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c3f7
or edi, 2
mov dword [esp + 0x10], edi
jmp 0x45cf1b
push str.nowrap
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cf1b
or edi, 0xc
mov dword [esp + 0x10], edi
jmp 0x45cf1b
push str.link
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c4ce
mov eax, dword [str.Static]
mov cx, word [0x5863c4]
mov dl, byte [0x5863c6]
push str.center
push esi
mov dword [0x5aa640], eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
mov dword [esp + 0x18], 0x40000000
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c47b
mov dword [esp + 0x10], 0x40000001
jmp 0x45c495
push 0x5863a4
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c495
mov dword [esp + 0x10], 0x40000002
push 0x5842a0
push esi
call fcn.00570b40
add esp, 8
test eax, eax
jne 0x45c4b9
push str.disable
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c4c1
or dword [esp + 0x10], 0x8000000
mov dword [esp + 0x58], 1
jmp 0x45cf1b
push str.edit
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c63f
mov eax, dword [0x586384]
mov cl, byte [0x586388]
mov edx, dword [esp + 0x14]
mov dword [0x5aa640], eax
mov byte [0x5aa644], cl
mov eax, dword [edx + 0x15c]
or edi, 0x10000
test eax, eax
mov dword [esp + 0x10], edi
jne 0x45c521
xor ecx, ecx
call fcn.0053ea70
test eax, eax
jne 0x45c52b
or edi, 0x800000
mov dword [esp + 0x10], edi
push str.center
push esi
mov dword [esp + 0x50], 0x200
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c54a
or edi, 1
jmp 0x45c55f
push 0x5863a4
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c563
or edi, 2
mov dword [esp + 0x10], edi
push str.read
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c57f
or edi, 0x800
mov dword [esp + 0x10], edi
push str.multi
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c598
or edi, 4
mov dword [esp + 0x10], edi
push str.pass
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c5b1
or edi, 0x20
mov dword [esp + 0x10], edi
push str.return
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c5cd
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.hsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c5e9
or edi, 0x100000
mov dword [esp + 0x10], edi
push str.vsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c605
or edi, 0x200000
mov dword [esp + 0x10], edi
push str.autohs
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c621
or edi, 0x80
mov dword [esp + 0x10], edi
push str.autovs
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cbf9
or edi, 0x40
jmp 0x45cbf5
push str.button
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c6fe
mov eax, dword [0x586284]
mov cx, word [0x586288]
mov dl, byte [0x58628a]
mov dword [0x5aa640], eax
mov eax, dword [esp + 0x5c]
or edi, 0x10000
test eax, eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
mov dword [esp + 0x10], edi
jne 0x45c6b0
push str.default
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c6b0
or edi, 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x5c], 1
push 0x5863bc
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c6d5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xe0], eax
jmp 0x45c95c
push str.cancel
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c95c
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [eax + 0xe4], edx
jmp 0x45c95c
push str.check
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c760
mov ecx, dword [0x586284]
mov dx, word [0x586288]
mov al, byte [0x58628a]
push str.3state
push esi
mov dword [0x5aa640], ecx
mov word [0x5aa644], dx
mov byte [0x5aa646], al
or edi, 0x10000
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c758
or edi, 6
jmp 0x45c923
or edi, 3
jmp 0x45c923
push str.scroll
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c8df
mov ecx, dword [0x586330]
mov edx, dword [0x586334]
mov ax, word [0x586338]
push 0x586328
push esi
mov dword [0x5aa640], ecx
mov dword [0x5aa644], edx
mov word [0x5aa648], ax
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c7b5
or edi, 2
jmp 0x45c7dd
push 0x586320
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c7cc
or edi, 2
jmp 0x45c7dd
push str.bottom
push esi
call fcn.00570b40
add esp, 8
or edi, 4
push str.horiz
push esi
mov dword [esp + 0x18], edi
call fcn.00570b40
add esp, 8
test eax, eax
jne 0x45c7fa
or edi, 1
mov dword [esp + 0x10], edi
push str.range
push esi
call fcn.00570b40
mov esi, eax
xor ebx, ebx
add esp, 8
cmp esi, ebx
je 0x45cf1b
mov al, byte [esi + 5]
add esi, 5
cmp al, 0x20
jne 0x45c828
mov edi, edi
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45c820
mov al, byte [esi]
test al, al
je 0x45cf1b
movzx ecx, al
push ecx
call fcn.00570e57
add esp, 4
test eax, eax
jne 0x45c850
mov al, byte [esi]
cmp al, 0x2b
je 0x45c850
cmp al, 0x2d
jne 0x45cf1b
push 0x20
push esi
call fcn.00570260
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x45c8c1
cmp byte [edi], 0x20
jne 0x45c86e
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x45c866
mov al, byte [edi]
test al, al
je 0x45c8c1
movzx edx, al
push edx
call fcn.00570e57
add esp, 4
test eax, eax
jne 0x45c88e
mov al, byte [edi]
cmp al, 0x2b
je 0x45c88e
cmp al, 0x2d
jne 0x45c8c1
push esi
call fcn.005705cb
add esp, 4
cmp eax, ebx
mov dword [esp + 0x38], eax
jg 0x45c8a3
mov dword [esp + 0x38], ebx
push edi
call fcn.005705cb
add esp, 4
cmp eax, ebx
mov dword [esp + 0x44], eax
jg 0x45cf1b
mov dword [esp + 0x44], ebx
jmp 0x45cf1b
push esi
call fcn.005705cb
add esp, 4
cmp eax, ebx
mov dword [esp + 0x44], eax
jg 0x45cf1b
mov dword [esp + 0x44], ebx
jmp 0x45cf1b
push str.radio
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c99d
mov eax, dword [0x586284]
mov cx, word [0x586288]
mov dl, byte [0x58628a]
mov dword [0x5aa640], eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
or edi, 0x10009
push 0x586320
push esi
mov dword [esp + 0x18], edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c940
or edi, 0x20
mov dword [esp + 0x10], edi
push str.push
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c95c
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.multi
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45c978
or edi, 0x2000
mov dword [esp + 0x10], edi
push str.flat
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cf1b
or edi, 0x8000
mov dword [esp + 0x10], edi
jmp 0x45cf1b
push 0x5862e8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45c9eb
mov eax, dword [0x586284]
mov cx, word [0x586288]
mov dl, byte [0x58628a]
or edi, 7
mov dword [0x5aa640], eax
mov word [0x5aa644], cx
mov byte [0x5aa646], dl
mov dword [esp + 0x10], edi
mov dword [esp + 0x48], 0x20
jmp 0x45cf1b
push str.list
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45cafb
mov eax, dword [str.ListBox]
mov ecx, dword [0x585bdc]
mov edx, dword [esp + 0x14]
mov dword [0x5aa640], eax
mov dword [0x5aa644], ecx
mov eax, dword [edx + 0x15c]
or edi, 0x210041
test eax, eax
mov dword [esp + 0x10], edi
jne 0x45ca3e
xor ecx, ecx
call fcn.0053ea70
test eax, eax
jne 0x45ca48
or edi, 0x800000
mov dword [esp + 0x10], edi
push str.extsel
push esi
mov dword [esp + 0x50], 0x200
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45ca6c
or edi, 0x800
mov dword [esp + 0x10], edi
push str.multsel
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45ca85
or edi, 8
mov dword [esp + 0x10], edi
push str.sort
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45ca9e
or edi, 2
mov dword [esp + 0x10], edi
push str.size
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45caba
or edi, 0x100
mov dword [esp + 0x10], edi
push str.vsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cad6
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.hsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cf1b
or edi, 0x100000
mov dword [esp + 0x10], edi
jmp 0x45cf1b
push str.combo
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45cc62
mov eax, dword [str.ComboBox]
mov ecx, dword [0x584f0c]
mov dl, byte [0x584f10]
mov dword [0x5aa640], eax
mov eax, dword [esp + 0x14]
mov dword [0x5aa644], ecx
mov byte [0x5aa648], dl
mov ecx, dword [eax + 0x15c]
or edi, 0x210240
test ecx, ecx
jne 0x45cb56
xor ecx, ecx
call fcn.0053ea70
test eax, eax
jne 0x45cb5c
or edi, 0x800000
push str.sort
push esi
mov dword [esp + 0x50], 0x200
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cb7c
or edi, 0x100
push str.size
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cb94
or edi, 0x400
push str.vsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cbac
or edi, 0x800
push str.hsbar
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cbc4
or edi, 0x100000
push str.drop
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cbf2
push str.edit
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cbed
or edi, 2
jmp 0x45cbf5
or edi, 3
jmp 0x45cbf5
or edi, 1
mov dword [esp + 0x10], edi
push str.limit
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cf1b
mov cl, byte [eax + 5]
add eax, 5
cmp cl, 0x20
jne 0x45cc29
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45cc20
cmp byte [eax], 0
je 0x45d40e
push eax
call fcn.005705cb
xor ecx, ecx
add esp, 4
cmp eax, ecx
mov dword [esp + 0x2c], eax
jge 0x45cc4e
mov dword [esp + 0x2c], ecx
jmp 0x45cf1b
cmp eax, 0x7530
jle 0x45cf1b
mov dword [esp + 0x2c], ecx
jmp 0x45cf1b
push str.icon
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45d64b
mov al, byte [0x5863c6]
mov ecx, dword [str.Static]
mov dx, word [0x5863c4]
mov dword [0x5aa640], ecx
mov word [0x5aa644], dx
mov byte [0x5aa646], al
mov al, byte [esi]
mov ebp, 1
xor ebx, ebx
test al, al
mov dword [esp + 0x40], ebp
mov dword [esp + 0x10], 0x40000003
jne 0x45cd64
push 0x124
mov byte [esp + 0x4d0], bl
mov dword [esp + 0x44], ebx
call fcn.00570098
add esp, 4
cmp eax, ebx
je 0x45cf1b
lea esi, [esp + 0x4cc]
mov edx, eax
sub edx, esi
lea ecx, [esp + 0x4cc]
lea esi, [edx + 0xc]
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x45ccf2
mov edx, dword [esp + 0x18]
mov dword [eax + 0x110], ebx
mov dword [eax], ebx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 0x114], ebp
mov dword [eax + 0x118], ebp
mov dword [eax + 0x11c], ebx
mov dword [eax + 0x120], ebx
mov ecx, dword [edx + 0x1000]
cmp ecx, ebx
je 0x45cd59
cmp dword [ecx + 0x120], ebx
je 0x45cd4e
mov ecx, dword [ecx + 0x120]
cmp dword [ecx + 0x120], ebx
jne 0x45cd40
mov dword [ecx + 0x120], eax
jmp 0x45cf1b
mov dword [edx + 0x1000], eax
jmp 0x45cf1b
push 0x2c
push esi
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x45ce1f
push str.noborder
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cd93
mov dword [esp + 0x40], 0
push 0x5842a0
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cdad
mov dword [esp + 0x10], 0x48000003
push 0x586320
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cdc4
mov ebx, 1
push 0x5863a4
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cdd9
or ebx, 2
push 0x586328
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45cdee
or ebx, 4
push str.bottom
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45ce03
or ebx, 8
push str.disable
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x45ce1f
or dword [esp + 0x10], 0x8000000
xor ebp, ebp
push 0x2c
push esi
xor edi, edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x45ceab
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
jne 0x45ce49
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45ce40
cmp byte [eax], 0
je 0x45ceab
lea edx, [esp + 0xe4]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45ce57
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x100]
call fcn.00480140
test eax, eax
je 0x45d40e
lea edx, [esp + 0xe4]
push edx
call fcn.005705cb
mov edi, eax
add esp, 4
test edi, edi
jge 0x45ceab
xor edi, edi
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45ceb6
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x100]
call fcn.00480140
test eax, eax
je 0x45d40e
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
push ebx
push ebp
push edx
mov edx, dword [esp + 0x24]
push 1
push edi
lea eax, [esp + 0xf8]
push eax
mov ecx, esi
call fcn.0045a2f0
test eax, eax
je 0x45d636
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x170]
test eax, eax
je 0x45cf89
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
imul eax, ecx
mov ebx, dword [esp + 0x4c]
cdq
and edx, 7
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x1c]
imul eax, ebx
cdq
and edx, 3
add eax, edx
mov esi, eax
mov eax, dword [esp + 0x28]
imul eax, ecx
cdq
and edx, 7
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
imul eax, ebx
cdq
and edx, 3
sar edi, 3
sar esi, 2
sar ecx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
jmp 0x45cfc9
push 0x5863d8
push 0x5a0bc8
call fcn.005809c6
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x45cfc1
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
mov ecx, eax
sar ecx, 3
mov dword [esp + 0x28], ecx
jmp 0x45cfc5
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov edx, dword [0x5b4310]
mov ebp, dword [esp + 0x14]
push 0
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0xc8]
push edx
push ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x28]
push edi
push esi
push eax
push 0x5aaa28
push 0x5aa640
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ebx, eax
test ebx, ebx
je 0x45d610
mov eax, dword [ebp + 0x15c]
test eax, eax
je 0x45d01b
mov ecx, ebx
call fcn.0053e9f0
mov eax, dword [esp + 0x7c]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
je 0x45d031
push 0
push eax
push 0x30
push ebx
call edi
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x45d041
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x45d052
mov edx, dword [esp + 0x44]
push 1
push edx
push eax
push 2
push ebx
call dword [sym.imp.USER32.dll_SetScrollRange]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x45d0e0
push str.ComboBox
push 0x5aa640
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45d0c8
push 5
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
je 0x45d0fe
mov edx, 0x64
lea ecx, [esp + 0x80]
call fcn.0041ef30
push 0x63
lea eax, [esp + 0x84]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea ecx, [esp + 0x80]
call fcn.00477e10
test eax, eax
je 0x45d0fe
mov ecx, dword [esp + 0x2c]
push 0
push ecx
push 0xc5
push esi
jmp 0x45d0fc
mov ecx, 0x5aa640
call fcn.00477e10
test eax, eax
je 0x45d0fe
push 0
push esi
push 0xc5
jmp 0x45d0fb
mov ecx, 0x5aa640
call fcn.00477e10
cmp eax, 2
jne 0x45d0fe
push 0xfa00
push 0
push 0x435
push ebx
call edi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x45d133
mov ecx, dword [ebp + 0xfe8]
push 0
mov edx, 0x583b74
call fcn.004c7e10
test eax, eax
je 0x45d40e
mov edx, dword [esp + 0x18]
mov dword [ebp + 0xfe8], eax
mov eax, dword [eax + 0x44]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edx
mov ecx, 0x5aa640
call fcn.00477e10
test eax, eax
je 0x45d14d
push 0
push 0
push 0xb9
push ebx
call edi
cmp dword [esp + 0x5c], 1
jne 0x45d17d
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc8]
push 0
push eax
push 0x401
push ecx
mov dword [esp + 0x6c], 2
call edi
push 1
push 1
push 0xf4
push ebx
call edi
push 0x5863d8
push 0x5a0bc8
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x45d389
mov eax, dword [esp + 0x30]
lea ecx, [eax + 1]
cmp ecx, 0x28
mov dword [esp + 0x40], ecx
jge 0x45d40e
test eax, eax
jne 0x45d2da
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
add ebp, 9
lea eax, [edx + ebp - 9]
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x170], 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
je 0x45d24b
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
mov esi, eax
mov eax, edi
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edi, eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x20], eax
mov eax, ecx
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
sar esi, 2
add eax, edx
sar eax, 3
mov ecx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov eax, dword [0x5b4310]
mov edx, dword [esp + 0x14]
push 0
push eax
mov eax, dword [edx + 0xc8]
push 0x66
push eax
sub ecx, ebp
push ecx
mov ecx, dword [esp + 0x6c]
push edi
push ecx
push esi
push 0x40000007
push 0x583b74
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45d40e
mov edx, dword [0x5b4310]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc8]
push 0
push edx
push 0x65
push ecx
push 0
push 0
push 0xffffffffffffffec
push 0xffffffffffffffec
push 0x50810145
push 0x583b74
push str.ListBox
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45d40e
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x6c], 0x14
mov dword [esp + 0x70], 8
mov edx, dword [esp + 0x30]
imul edx, edx, 0x5c
lea esi, [edx + ebp]
lea edi, [esi + 0x174]
push 0x5aaa28
mov edx, 0x32
mov ecx, edi
call fcn.0041ee40
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1ac], 1
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], eax
jne 0x45d32d
mov dword [ebp + 0x1b8], 1
jmp 0x45d337
mov dword [esi + 0x1b8], 0
mov ecx, dword [esp + 0x30]
add ecx, 5
imul ecx, ecx, 0x5c
xor eax, eax
push edi
push eax
push 0x180
mov dword [esi + 0x1bc], 1
mov dword [esi + 0x1c0], 0xbe
mov dword [esi + 0x1c8], eax
mov dword [ecx + ebp], eax
mov dword [esi + 0x204], eax
mov edx, dword [ebp + 0xc8]
push 0x65
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
jmp 0x45d54b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45d54b
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x45d54b
mov cl, byte [eax + 3]
add eax, 3
cmp cl, 0x20
jne 0x45d3b9
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45d3b0
cmp byte [eax], 0
je 0x45d40e
push eax
call fcn.005705cb
mov edi, eax
lea ecx, [ebp + 0x1a8]
add esp, 4
add edi, 0x1770
xor esi, esi
mov dword [esp + 0x38], ecx
jmp 0x45d3e0
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
test eax, eax
je 0x45d4f1
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp eax, edi
je 0x45d4f1
mov ecx, dword [esp + 0x38]
inc esi
add ecx, 0x5c
cmp esi, 0x28
mov dword [esp + 0x38], ecx
jl 0x45d3e0
mov ecx, dword [esp + 0x14]
add ecx, 0x64
push ecx
xor edx, edx
mov ecx, 0x677
call fcn.0041d620
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push 0x5a7240
call edi
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
mov cl, byte [eax]
add esp, 0xc
cmp cl, 0x20
jne 0x45d449
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45d440
cmp byte [eax], 0
je 0x45d610
mov edx, 0x5aa640
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45d460
push 0x20
push 0x5aa640
call fcn.00570260
add esp, 8
test eax, eax
je 0x45d480
mov byte [eax], 0
mov eax, 0x5a7240
mov byte [0x5aa659], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45d490
sub eax, edx
push 0x5aa640
lea eax, [eax + 0x5a7240]
push str.__in__s
push eax
call edi
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
jle 0x45d610
mov eax, 0x5a7240
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45d4c3
add edx, 0xffffe890
push edx
sub eax, esi
lea ecx, [eax + 0x5a7240]
push 0x58629c
push ecx
call edi
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
cmp esi, 0x28
jge 0x45d40e
mov eax, esi
imul eax, eax, 0x5c
mov ecx, dword [eax + ebp + 0x1a8]
test ecx, ecx
je 0x45d40e
mov ecx, dword [ebp + 0xfd4]
push 0
mov edx, 0x583b74
call fcn.004c7e10
test eax, eax
je 0x45d40e
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfd4], eax
mov eax, dword [eax + 0x44]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
shr ecx, 0x1c
and ecx, 1
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x1c], ecx
push 0
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x40]
test esi, esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], esi
jne 0x45b630
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x45d661
add ebx, 0x64
push ebx
xor edx, edx
mov ecx, 0x677
call fcn.0041d620
push eax
push 0x5a7240
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
xor edx, edx
mov ecx, 0x678
call fcn.0041d620
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x45d5b6
mov edi, 0x5a7240
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45d5c7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
add edi, 0xffffe890
add ebx, 0x64
push edi
push ebx
xor edx, edx
mov ecx, 0x674
call fcn.0041d620
push eax
push 0x5a7240
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xe4]
push ecx
add edx, 0x64
push edx
xor edx, edx
mov ecx, 0x673
jmp 0x45d5fc
lea eax, [esp + 0xe4]
add esi, 0x64
push eax
push esi
xor edx, edx
mov ecx, 0x675
jmp 0x45d5fc
mov edx, dword [esp + 0x14]
add edx, 0x64
push 0x5a0bc8
push edx
xor edx, edx
mov ecx, 0x676
jmp 0x45d5fc
mov eax, dword [esp + 0x50]
test eax, eax
je 0x45d676
mov eax, dword [ebx + 0xc8]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8a4
ret