Function at 0x100495e3
Capabilities:
Allocate thread local storage
Get disk information
Read .ini file

Disassembly:
mov eax, 0x1006a31b
call fcn.10068fd8
sub esp, 0x254
push ebx
push esi
push edi
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x28], 0xd013d0bb
push 1
mov dword [ebp - 0x4c], edx
call fcn.100336b5
xor ebx, ebx
xor esi, esi
mov dword [ebp - 4], ebx
inc esi
mov dword [ebp - 0x18], ebx
jmp 0x1004963a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0xff93
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10049627
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, 0xe64fd9e2
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
cmp eax, dword [ebp - 0x14]
je 0x10049681
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x627e
mov dword [ebp - 0x3c], 0xb2811ffb
mov dword [ebp - 0x28], 0xfffffffa
jmp 0x100496ea
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x38], 9
cmp dword [ebp - 0x18], ebx
je 0x100496b8
mov edx, esi
cmp dword [ebp - 0x3c], ebx
jne 0x100496ba
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul ecx, ecx, 0x10a1
cmp eax, ecx
setge dl
imul edx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
jle 0x1004969e
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x100497d3
mov dword [ebp - 0x40], 0x2227
cmp dword [ebp - 0x40], 0x2304
jle 0x1004975f
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], 0x14d7
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10612a38
and eax, esi
cdq
push edx
push eax
call fcn.100335a0
inc ebx
cmp ebx, 0x55e1
jl 0x10049720
inc edi
push 0
pop ebx
cmp edi, 0x5c09
jl 0x1004971d
dec esi
dec dword [ebp - 0x3c]
jne 0x1004971b
mov esi, dword [ebp - 0x38]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x5520
jl 0x10049711
mov byte [ebp - 4], 1
cmp dword [ebp - 0x40], 0x21dc
jge 0x10049799
mov edx, 0x1000c170
mov ecx, 0x10612a38
call fcn.1003504a
jmp 0x10049799
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x100497b7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x11c]
cmp dword [eax + ecx*4], ebx
jne 0x100497b7
dec dword [ebp - 0x14]
jns 0x100497a4
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x11c]
cmp dword [eax + ecx*4], ebx
sete dl
mov dword [ebp - 0x3c], edx
dec dword [ebp - 0x18]
jmp 0x100496f3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c]
call fcn.10033737
mov dword [ebp - 0x18], 0xb26bdde0
mov dword [ebp - 0x30], 0x19d7
cmp dword [ebp - 0x30], 0x1a30
jle 0x10049889
xor esi, esi
mov dword [ebp - 0x40], ebx
inc esi
mov edx, ebx
mov dword [ebp - 0x38], 0x2cdf
mov dword [ebp - 0x20], edx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x238]
and eax, edx
cdq
push edx
push eax
call fcn.1000dd90
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10049834
mov eax, dword [eax]
push eax
call fcn.10053d16
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x238]
call fcn.10033a41
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x53a1
jl 0x10049816
inc edi
cmp edi, 0x1862
jl 0x10049811
mov edi, dword [ebp - 0x40]
add edx, edi
dec dword [ebp - 0x38]
mov dword [ebp - 0x20], edx
jne 0x1004980f
inc edi
mov dword [ebp - 0x40], edi
cmp edi, 0x115c
jl 0x10049803
push ebx
push ebx
push 0x974
call dword [sym.imp.GDI32.dll_SelectPalette]
cmp dword [ebp - 0x30], 0x173e
jge 0x1004989d
push 0x1000c1c0
call fcn.10053d16
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x100498b7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], 0xfa85f88e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x100498a6
mov dword [ebp - 0x18], 0xa
jmp 0x10049943
push 3
lea ecx, [ebp - 0x9c]
call fcn.100336b5
mov dword [ebp - 0x3c], 0xa2215256
mov dword [ebp - 0x28], ebx
jmp 0x100498f2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0x6318d581
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x100498df
mov eax, dword [ebp - 0x9c]
cmp dword [eax], ebx
jne 0x1004994f
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x18]
setle cl
add eax, ecx
mov ecx, dword [ebp - 0x18]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xc8], ecx
lea ecx, [ebp - 0x9c]
call fcn.10033737
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jl 0x100498c6
jmp 0x1004995a
lea ecx, [ebp - 0x9c]
call fcn.10033737
mov eax, dword [0x10613bac]
test al, 1
jne 0x100499f2
or eax, 1
mov dword [0x10613bac], eax
push ebx
mov dword [ebp - 4], 5
push ebx
mov dword [0x10613bb0], ebx
mov dword [0x10613bb4], ebx
call fcn.1003b974
mov dword [0x10613bb0], eax
mov dword [0x10613bb8], ebx
mov dword [0x10613bc0], ebx
mov byte [ebp - 4], 7
mov ecx, 0x10613bb8
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1ac]
mov dword [0x10613bcc], 0x3f800000
push eax
mov dword [0x10613bbc], ebx
call fcn.1003b74c
push 0x1006a706
mov dword [0x10613bc4], 7
mov dword [0x10613bc8], 8
call fcn.10053cec
or dword [ebp - 4], 0xffffffff
pop ecx
xor esi, esi
inc esi
mov dword [ebp - 0x28], esi
dec dword [ebp - 0x28]
push 2
mov dword [ebp - 0x28], ebx
pop edi
cmp dword [ebp - 0x28], 0x13
jge 0x10049b3c
push 3
lea ecx, [ebp - 0xb4]
call fcn.100336b5
mov dword [ebp - 0x14], 0xb3152c58
mov dword [ebp - 0x2c], 0x2da3c3d2
mov dword [ebp - 0x18], ebx
jmp 0x10049a3e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xd32f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10049a2b
mov dword [ebp - 0x14], ebx
jmp 0x10049ad8
mov dword [ebp - 0x18], ebx
xor ecx, ecx
mov dword [ebp - 0x3c], 0x40c18ab9
mov eax, dword [ebp - 0x28]
shl eax, 2
test eax, eax
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb4]
mov eax, dword [eax + ecx*4]
imul ecx, dword [ebp - 0x28], 0xa4d1
mov dword [edx + esi*4], eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + esi*4], ecx
setne al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ebx
jmp 0x10049ad0
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
jl 0x10049acd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + ecx*4], ebx
jne 0x10049acd
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10049ac8
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
dec dword [ebp - 0x2c]
jns 0x10049aab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10049aa3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10049a4c
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10049b29
push 0x239
push 0x1129
push ebx
push ebx
push 0xd1
push 0x1589
push 0xeec
push 0xa55
push 0x8c8
push 0x1923
push 0x84c
push 0xf7b
push 0x24f5
call dword [sym.imp.GDI32.dll_StretchDIBits]
lea ecx, [ebp - 0xb4]
call fcn.10033737
inc dword [ebp - 0x28]
jmp 0x10049a01
imul eax, dword [ebp - 0x50], 0x2710
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1004b666
mov eax, dword [eax]
mov dword [ebp - 0x14], 0x86e871d9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], ebx
jmp 0x10049b89
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x158], 0xe6e2bfbd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10049b78
cmp dword [ebp - 0x14], ebx
je 0x10049bac
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x14]
jne 0x10049bac
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10049bb1
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, 0xfffffffc
setg al
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x14], 0xffffffe2
jmp 0x10049c96
mov dword [ebp - 0x20], 0xbd0176df
mov dword [ebp - 0x24], 0x4dde9ab5
mov dword [ebp - 0x38], 0x4cb4
mov dword [ebp - 0x18], ebx
jmp 0x10049bf2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x164], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10049be5
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x160]
cmp dword [ebp - 0x14], ebx
jne 0x10049c1f
mov esi, ebx
cmp dword [ebp - 0x28], ebx
je 0x10049c21
mov esi, edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp esi, eax
sete cl
cmp ecx, 0x9118158f
jbe 0x10049c3a
mov esi, ebx
cmp dword [ebp - 0x14], ebx
je 0x10049c3c
mov esi, edx
mov edx, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x28]
cmp eax, esi
setne cl
xor eax, eax
cmp edx, ecx
setge al
xor edx, edx
cmp eax, 6
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
cmp dword [ebp - 0x38], ecx
jle 0x10049c79
cmp dword [ebp - 0x28], ebx
je 0x10049c79
xor edx, edx
inc edx
mov eax, edx
jmp 0x10049c7e
xor edx, edx
mov eax, ebx
inc edx
add eax, 0x5d8d3410
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x7697ab83
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jne 0x10049bcb
cmp dword [ebp - 0x3c], 0
je 0x10049fd0
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], ebx
jmp 0x10049e86
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x24], 0x211e9a9
mov dword [ebp - 0x18], ebx
jmp 0x10049cdf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], 0x4b64
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10049cce
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x198], 0xae4b
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x14]
je 0x10049e73
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x14], 0x10
jmp 0x10049e67
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x28], ebx
jne 0x10049e83
mov dword [ebp - 0x28], 0xffffffea
jmp 0x10049e5a
mov dword [ebp - 0x18], 0x5b641b44
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x18], 0xffffffe7
jmp 0x10049e4d
mov dword [ebp - 0x40], 0xb7e280bf
cmp dword [ebp - 0x2c], ebx
je 0x10049e08
mov dword [ebp - 0x24], 0xffffffff
cmp dword [ebp - 0x40], ebx
jne 0x10049d99
cmp dword [ebp - 0x18], ebx
jne 0x10049d99
mov ecx, ebx
jmp 0x10049d9c
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp eax, 7
setl cl
xor edx, edx
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setne dl
add edx, 0x1832
jne 0x10049dec
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jne 0x10049dec
mov esi, ebx
jmp 0x10049def
xor esi, esi
inc esi
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
jmp 0x10049e23
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setg dl
sub eax, edx
add eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jl 0x10049d74
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x20
je 0x10049d53
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1f
jge 0x10049d34
jmp 0x10049e83
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10049e83
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffc
jg 0x10049cbb
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x104]
xor esi, esi
mov dword [ebp - 0x14], 5
inc esi
mov dword [ebp - 0x28], 0xd013d0bb
push esi
mov dword [ebp - 0xe0], eax
call fcn.100336b5
mov dword [ebp - 0x20], ebx
jmp 0x10049ece
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0xff93
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10049ebb
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, 0xe64fd9e2
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
cmp eax, dword [ebp - 0x14]
je 0x10049f15
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x627e
mov dword [ebp - 0x24], 0xb2811ffb
mov dword [ebp - 0x28], 0xfffffffa
jmp 0x10049f7e
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x3c], 9
cmp dword [ebp - 0x18], ebx
je 0x10049f4c
mov edx, esi
cmp dword [ebp - 0x24], ebx
jne 0x10049f4e
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul ecx, ecx, 0x10a1
cmp eax, ecx
setge dl
imul edx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
jle 0x10049f32
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10049fc0
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10049fa7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
cmp dword [eax + ecx*4], ebx
jne 0x10049fa7
dec dword [ebp - 0x14]
jns 0x10049f94
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x104]
cmp dword [eax + ecx*4], ebx
sete dl
mov dword [ebp - 0x24], edx
dec dword [ebp - 0x18]
jns 0x10049f8c
lea ecx, [ebp - 0x104]
call fcn.10033737
jmp 0x1004b579
mov dword [ebp - 0x14], edx
xor esi, esi
mov dword [ebp - 0x30], ebx
inc esi
mov dword [ebp - 0x24], 0x650dfa01
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xffffffe3
jl 0x1004a06f
mov dword [ebp - 0x18], 3
xor ecx, ecx
mov dword [ebp - 0x24], 0x19a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jne 0x1004a026
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0xf37911b9
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x30], ebx
je 0x1004a041
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp dword [ebp - 0x24], eax
setge cl
cmp edx, ecx
jl 0x1004a062
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x1004a064
mov eax, esi
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x14]
jmp 0x10049fea
mov eax, dword [0x10613bac]
test al, 2
jne 0x1004a106
or eax, edi
mov dword [0x10613bac], eax
push ebx
mov dword [ebp - 4], 8
push ebx
mov dword [0x10613bd0], ebx
mov dword [0x10613bd4], ebx
call fcn.1003b974
mov dword [0x10613bd0], eax
mov dword [0x10613bd8], ebx
mov dword [0x10613be0], ebx
mov byte [ebp - 4], 0xa
mov ecx, 0x10613bd8
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb8]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1c0]
mov dword [0x10613bec], 0x3f800000
push eax
mov dword [0x10613bdc], ebx
call fcn.1003b74c
push 0x1006a701
mov dword [0x10613be4], 7
mov dword [0x10613be8], 8
call fcn.10053cec
or dword [ebp - 4], 0xffffffff
pop ecx
lea eax, [ebp - 0x50]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0x90], xmm0
call fcn.1004b6c8
mov eax, dword [eax]
mov dword [ebp - 0x34], 0x5d6c
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
mov dword [ebp - 0x28], eax
je 0x1004a136
push ebx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a14a
push 0x402
call dword [sym.imp.USER32.dll_MessageBeep]
cmp byte [ebp + 0xc], 0
jne 0x1004a15b
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x1004a4ed
push edi
lea ecx, [ebp - 0x74]
call fcn.100336b5
mov dword [ebp - 0x18], 0xf5f49900
mov dword [ebp - 0x34], 0x2f3d4794
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ebx
jmp 0x1004a186
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004a17a
mov eax, dword [ebp - 0x74]
push 0xfffffffffffffffb
pop edi
mov dword [eax], ebx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a1a3
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov edx, dword [ebp - 0x74]
dec dword [edx]
mov esi, dword [edx]
cmp esi, edi
jge 0x1004a193
xor eax, eax
test esi, esi
push 0
setne al
xor ecx, ecx
cmp esi, eax
setle cl
xor eax, eax
cmp ecx, dword [edx + 4]
setl al
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
shl ecx, 3
cmp edi, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
sbb edx, edx
inc edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x18]
pop ecx
setne cl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setle cl
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
lea ecx, [ebp - 0x74]
call fcn.10033737
mov dl, byte [ebp + 0xc]
lea eax, [ebp - 0x260]
mov ecx, dword [ebp - 0x50]
push eax
call fcn.1003e030
mov esi, eax
lea edi, [ebp - 0x90]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0x692b
mov dword [ebp - 0x18], 0x1cecb457
mov dword [ebp - 0x24], 0x9b2e4145
mov dword [ebp - 0x38], 0x46880738
mov dword [ebp - 0x24], 0xd1afd061
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x34], 0x434392f2
mov dword [ebp - 0x20], ebx
jmp 0x1004a27e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1fc], 0x657689a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1004a26d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1004a2a0
cmp dword [ebp - 0x30], ebx
je 0x1004a2a0
cmp dword [ebp - 0x18], ebx
je 0x1004a2a0
xor esi, esi
inc esi
mov edx, esi
jmp 0x1004a2a5
xor esi, esi
mov edx, ebx
inc esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x1fc], ecx
test ecx, ecx
jne 0x1004a2c0
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004a2c2
mov eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x30]
cmp byte [ebp + 0xc], 0
mov dword [ebp - 0x34], eax
je 0x1004a4ea
cmp dword [ebp - 0x88], 0
je 0x1004a4ea
mov dword [ebp - 0x14], 0xbaf43b7c
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x18], 0x8da8e97e
push 4
call fcn.100336b5
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x34], 0xed1b4b1c
mov dword [ebp - 0x20], ebx
jmp 0x1004a341
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004a32e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1004a3af
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0xc4]
setg dl
xor ecx, ecx
test edx, edx
sete cl
mov dword [eax], edx
sub ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x14]
jle 0x1004a390
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
cmp dword [eax], 0x3d975123
jl 0x1004a3bb
jmp 0x1004a3b5
mov eax, dword [ebp - 0xc4]
mov ecx, ebx
cmp dword [eax], ebx
je 0x1004a3bd
mov ecx, esi
mov eax, dword [ebp - 0x14]
sub ecx, eax
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xb31
jne 0x1004a3d7
cmp dword [ebp - 0x18], ebx
jne 0x1004a3d9
mov esi, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp esi, 0xe6f7fbf2
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xc4]
call fcn.10033737
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x30], 0xf
cmp dword [ebp - 0x30], 0xb4
mov dword [ebp - 0xdc], eax
jle 0x1004a491
mov dword [ebp - 0x38], ebx
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
mov dword [ebp - 0x34], ebx
cdq
idiv esi
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov esi, edx
mov eax, esi
mov ecx, 0x10612a38
cdq
idiv edi
mov eax, ebx
sub eax, edx
cdq
push edx
push eax
call fcn.100335a0
inc edi
cmp edi, 0x47f6
jl 0x1004a443
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x40]
inc esi
mov dword [ebp - 0x24], esi
push 0
pop ebx
cmp esi, 0x2d49
jl 0x1004a433
inc edi
mov dword [ebp - 0x40], edi
cmp edi, 0x19f6
jl 0x1004a42e
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x3311
jl 0x1004a429
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x18], 5
jmp 0x1004a4b8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a4b2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jle 0x1004a4a1
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x30], 0xfffffffa
jge 0x1004a4da
mov edx, 0x1000c218
mov ecx, 0x10612a38
call fcn.1003504a
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xd8], eax
xor esi, esi
inc esi
push 2
pop edi
push edi
lea ecx, [ebp - 0x17c]
call fcn.100336b5
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x1e0]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000c990]
lea ecx, [ebp - 0x110]
push eax
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x34], 0x4bc662a2
push eax
mov dword [ebp - 0x34], 0xffffffff
push ebx
movdqu xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
call fcn.10035569
mov dword [ebp - 0x20], ebx
jmp 0x1004a590
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x17c]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004a57d
mov eax, dword [ebp - 0x17c]
mov dword [eax], 0xfffffff3
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a5bb
push ebx
push 0x1788
push 0xcb1
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea ecx, [ebp - 0x110]
call fcn.10033737
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x17c]
call fcn.10033737
cmp dword [ebp - 0x28], 0
jne 0x1004aec6
cmp dword [ebp - 0x90], 0
jle 0x1004aec6
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x1a8]
push esi
call fcn.100336b5
xor edx, edx
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1004a61b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b0], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004a60e
mov dword [ebp - 0x14], ebx
jmp 0x1004a638
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0xa4bedcc5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004a625
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1004a709
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000c960]
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0xd4], ebx
push eax
push ebx
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd0], ebx
movdqu xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0xcc], ebx
call fcn.10035569
xor eax, eax
mov byte [ebp - 4], 0x11
inc eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x1bc]
push eax
call fcn.100336b5
xor esi, esi
mov dword [ebp - 0x20], ebx
inc esi
jmp 0x1004a6c0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1bc]
mov dword [eax + ecx*4], 0xf7e7308
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004a6ad
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 4], ebx
mov dword [ebp - 0x24], 0xbff44cac
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
inc dword [ecx + 4]
cmp dword [ecx + 4], 0
jle 0x1004a6ce
lea ecx, [ebp - 0x1bc]
call fcn.10033737
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x10
call fcn.10033737
dec dword [ebp - 0x18]
jns 0x1004a649
jmp 0x1004a70c
xor esi, esi
inc esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a8]
call fcn.10033737
push 3
lea ecx, [ebp - 0x188]
call fcn.100336b5
push 3
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1004a741
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004a730
mov dword [ebp - 0x14], ebx
jmp 0x1004a75e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004a74b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a779
push 0x1e5f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov dword [ebp - 0xe8], ebx
jmp 0x1004a7b9
mov dword [ebp - 0x30], 0xfe1ca296
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x30], ebx
jl 0x1004a7b3
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a7ae
push 0x1d54
push 0x183b
push 0x227
call dword [sym.imp.GDI32.dll_LineTo]
dec dword [ebp - 0x30]
jns 0x1004a790
dec dword [ebp - 0xe8]
cmp dword [ebp - 0xe8], 0xfffffffb
jne 0x1004a781
lea ecx, [ebp - 0x188]
call fcn.10033737
mov dword [ebp - 0x14], 0xedb5
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0x7863718b
mov dword [ebp - 0x18], 0xd06721f7
mov dword [ebp - 0x34], 0x84edc022
mov dword [ebp - 0x24], 0x626a9d9e
push esi
call fcn.100336b5
mov dword [ebp - 0x20], ebx
jmp 0x1004a817
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], 0x60df3928
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004a804
cmp dword [ebp - 0x14], 0xe3b6f9b6
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
sub eax, edx
jne 0x1004a86d
mov eax, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004a86f
mov eax, esi
neg eax
xor ecx, ecx
cmp eax, 0xcf5a
mov eax, dword [ebp - 0x14]
setge cl
sub eax, ecx
jne 0x1004a889
cmp dword [ebp - 0x38], ebx
jne 0x1004a889
mov esi, ebx
mov dword [ebp - 0x18], esi
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
neg edx
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xd5fba252
setne al
xor ecx, ecx
cmp eax, 0xbf7c
mov eax, dword [ebp - 0x170]
setge cl
mov dword [eax], ecx
mov dword [ebp - 0x18], 0xfffffff0
jmp 0x1004a904
mov dword [ebp - 0x24], 0xfff7
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1004a901
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004a8f9
push 0x8f6
call dword [sym.imp.USER32.dll_ShowCaret]
dec dword [ebp - 0x24]
dec dword [ebp - 0x14]
jns 0x1004a8e5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
jne 0x1004a8d6
lea ecx, [ebp - 0x170]
call fcn.10033737
cmp dword [ebp - 0x8c], 0
je 0x1004aec6
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x60]
push edi
call fcn.100336b5
mov dword [ebp - 0x2c], 0x10c13fe6
xor edx, edx
mov dword [ebp - 0x20], 0x5f5b1b6f
inc edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], 0xb4709ba8
mov dword [ebp - 0x28], 0x5c7d
push 6
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x14], ebx
pop esi
cmp dword [ebp - 0x14], edi
jge 0x1004a970
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
jmp 0x1004a95d
mov dword [ebp - 0x14], ebx
jmp 0x1004a97f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004a975
mov dword [ebp - 0x14], ebx
jmp 0x1004a996
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004a989
cmp dword [ebp - 0x18], ebx
je 0x1004a9c1
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, edx
cmp esi, eax
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x120]
cmp dword [ebp - 0x14], eax
jg 0x1004a9c3
mov edx, ebx
xor eax, eax
cmp edx, 0xfffffff6
sete al
add eax, dword [ebp - 0x120]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xf0e4f200
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, 0xc8fa1b44
setle cl
cmp eax, ecx
mov eax, dword [ebp - 0x60]
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
imul eax, ecx, 0x9a1d
test eax, eax
je 0x1004ab86
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x44], 0xf73ecb6a
mov dword [ebp - 0x20], ebx
jmp 0x1004aa4e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x20c], 0xfffffffc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004aa3d
mov dword [ebp - 0x2c], ebx
jmp 0x1004ab54
mov dword [ebp - 0x38], 0xe11b4c51
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
push 0
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
pop eax
setl al
cmp dword [ebp - 0x30], eax
je 0x1004aa89
cmp dword [ebp - 0x14], ebx
jne 0x1004aa96
cmp dword [ebp - 0x124], ebx
je 0x1004aa96
xor eax, eax
inc eax
jmp 0x1004aa98
mov eax, ebx
cmp eax, dword [ebp - 0x30]
jl 0x1004aaa6
cmp dword [ebp - 0x44], ebx
jne 0x1004aaa6
mov ecx, ebx
jmp 0x1004aaa9
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xc23f
setl al
xor ecx, ecx
cmp eax, 0xfffffffd
setg cl
sub ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov eax, dword [ebp + eax*4 - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setne dl
xor ecx, ecx
cmp dword [eax], edx
setge cl
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], ebx
jne 0x1004aaf0
mov eax, dword [ebp - 0x60]
cmp dword [eax + 4], ebx
jne 0x1004aaf0
mov esi, ebx
jmp 0x1004aaf3
xor esi, esi
inc esi
mov dword [ebp - 0x38], esi
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x48]
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
add eax, edx
cmp eax, 0x7e38
setge cl
mov dword [ebp - 0x44], ecx
inc dword [ebp - 0x24]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1004aa5c
mov dword [ebp - 0x28], ebx
jmp 0x1004ab7e
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004ab7b
push ebx
push 0x1900
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jne 0x1004ab62
jmp 0x1004abaa
mov dword [ebp - 0x34], 0xbad2cc01
mov dword [ebp - 0x24], 0xbbfb6feb
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
sub eax, 0x4779cf81
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x60]
call fcn.10033737
mov dword [ebp - 0x38], 0x5692
cmp dword [ebp - 0x38], 0x5967
jle 0x1004ac28
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x34], ebx
cdq
mov edi, ecx
idiv esi
sub edi, edx
mov eax, ebx
mov ecx, 0x10612a38
and eax, edi
cdq
push edx
push eax
call fcn.100335a0
inc ebx
cmp ebx, 0x79dd
jl 0x1004abe1
mov edi, dword [ebp - 0x24]
inc esi
mov ecx, dword [ebp - 0x30]
push 0
pop ebx
cmp esi, 0x7492
jl 0x1004abd5
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x26bd
jl 0x1004abd3
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0xd5
jl 0x1004abce
push 2
pop edi
mov ecx, dword [ebp - 0x8c]
call fcn.100495b2
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x38], 0x5465
mov dword [ebp - 0x28], eax
jge 0x1004ac55
mov edx, 0x1000c298
mov ecx, 0x10612a38
call fcn.1003504a
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], 0x849f845
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x14], ebx
push edi
call fcn.100336b5
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x14], ebx
jmp 0x1004acb0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004aca4
xor edi, edi
mov dword [ebp - 0x14], ebx
inc edi
jmp 0x1004acce
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 0x57a880e1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004acbd
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov edx, 0xc3938dd4
sub eax, dword [ebp - 0x2c]
cmp eax, 8
mov eax, dword [ebp - 0x2c]
setg cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, 0xfe04
setge dl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setg cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x1004aea9
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x38], eax
push 4
lea ecx, [ebp - 0xf8]
call fcn.100336b5
mov dword [ebp - 0x24], 0x73e702b6
mov dword [ebp - 0x14], ebx
jmp 0x1004ad60
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004ad4d
mov dword [ebp - 0x14], ebx
jmp 0x1004ad7c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x140], 0xf33d48a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004ad6b
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jg 0x1004adf4
mov eax, dword [ebp - 0xf8]
mov ebx, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
neg eax
mov esi, dword [ebp - 0x18]
sbb eax, eax
neg eax
cmp eax, 0xcb64b693
mov eax, dword [ebp - 0x80]
sbb edx, edx
inc edx
sub edx, dword [eax + ecx*4]
neg edx
sbb edx, edx
inc edx
sub edx, dword [eax]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x223dec9
mov edx, dword [ebp - 0x18]
setne al
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x80]
setle cl
add edx, ecx
imul edx, dword [eax + esi*4]
xor eax, eax
cmp edx, dword [ebx + 8]
setne al
mov dword [ebx + 4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1004ad95
xor ebx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 7
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x2c]
jg 0x1004ae20
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0xf8]
xor eax, eax
push 0xfffffffffffffffa
cmp dword [esi + 0xc], ebx
sete al
xor ecx, ecx
cmp eax, dword [edx + 4]
mov eax, dword [esi + 8]
setg cl
sub eax, ecx
mov ecx, 0x5d7b1ecb
cmp edi, eax
sbb eax, eax
inc eax
sub eax, dword [esi + 8]
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebp - 0x80]
cmp ecx, dword [eax]
pop ecx
setle dl
lea eax, [edx - 0xb61e]
cmp ecx, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x13c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0xf8]
setle dl
sub edx, dword [esi + 8]
mov dword [esi + 8], edx
call fcn.10033737
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1004ad34
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.10033737
lea eax, [ebp - 0x50]
push eax
call fcn.1004b6c8
mov ecx, dword [ebp - 0x28]
push 2
pop edi
mov dword [eax], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xd19c9214
mov dword [ebp - 0x34], 0x19e95d1c
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x34], 0xc7008b15
mov dword [ebp - 0x34], 0xa964a90c
mov dword [ebp - 0x34], 0x4595a2e7
mov dword [ebp - 0x20], ebx
jmp 0x1004af0f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x214], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004af02
xor esi, esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], 8
inc esi
cmp dword [ebp - 0x18], 0x2a
je 0x1004b174
mov dword [ebp - 0x24], 0x347f
cmp dword [ebp - 0x24], 0x3612
jle 0x1004af6b
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10612a38
cdq
push edx
push eax
call fcn.100335a0
inc ebx
cmp ebx, 0x420
jl 0x1004af40
inc edi
push 0
pop ebx
cmp edi, 0x2c89
jl 0x1004af3d
push 2
pop edi
mov dword [ebp - 0x14], 0x62ee6d05
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x24], 0x3175
jge 0x1004af91
mov edx, 0x1000c2bc
mov ecx, 0x10612a38
call fcn.1003504a
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], 0x64f0
cmp dword [ebp - 0x40], 0x650d
jle 0x1004b034
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
add eax, edi
mov dword [ebp - 0x34], ebx
and eax, ecx
mov edi, ebx
mov dword [ebp - 0x44], eax
xor eax, edi
lea ecx, [ebp - 0x250]
cdq
push edx
push eax
call fcn.1000dd90
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004afde
mov eax, dword [eax]
push eax
call fcn.10053d16
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x250]
call fcn.10033a41
mov eax, dword [ebp - 0x44]
inc edi
cmp edi, 0x665
jl 0x1004afc4
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
inc eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp eax, 0x7e45
jl 0x1004afb8
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x13b0
jl 0x1004afb3
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x5e67
jl 0x1004afae
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push 2
pop edi
mov dword [ebp - 0x30], 7
cmp dword [ebp - 0x40], 0x642c
jge 0x1004b04f
push 0x1000c2e8
call fcn.10053d16
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x1004b094
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa4], 0xe86f8c7b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004b083
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x40], 0x2fb9
cmp dword [ebp - 0x40], 0x31dc
jle 0x1004b11e
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edx, edi
mov dword [ebp - 0x34], ebx
mov ecx, eax
mov edi, ebx
shl edx, cl
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], ebx
mov eax, edi
mov ecx, 0x10612a38
cdq
idiv ebx
and edx, dword [ebp - 0x44]
mov eax, edx
cdq
push edx
push eax
call fcn.100335a0
inc ebx
cmp ebx, 0x1b23
jl 0x1004b0d2
inc edi
push 0
pop ebx
cmp edi, 0x3920
jl 0x1004b0cf
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x47e7
jl 0x1004b0c1
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x510f
jl 0x1004b0bc
push 2
pop edi
inc dword [ebp - 0x30]
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x40], 0x2e8b
jge 0x1004b140
mov edx, 0x1000c350
mov ecx, 0x10612a38
call fcn.1003504a
or dword [ebp - 4], 0xffffffff
inc dword [ebp - 0x18]
jmp 0x1004af21
lea ecx, [ebp - 0x90]
call fcn.1004581c
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x14], ebx
jmp 0x1004b1a6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x220], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004b195
mov dword [ebp - 0x14], ebx
jmp 0x1004b1c2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d0], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004b1b1
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1004b319
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x34], 0xe3b372ba
mov dword [ebp - 0x38], 0x5034859b
mov dword [ebp - 0x20], ebx
jmp 0x1004b203
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x68], 8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004b1f5
mov eax, dword [ebp - 0x64]
xor ecx, ecx
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
cmp eax, 0x75761ac7
mov eax, dword [ebp - 0x68]
setg cl
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
setne dl
mov dword [ebp - 0x34], edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x34]
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x30]
imul eax, ecx, 0x3585
sub eax, dword [ebp - 0x44]
je 0x1004b27b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004b26a
push 0x13e5
push 0x2460
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
xor esi, esi
inc esi
dec dword [ebp - 0x18]
jns 0x1004b1d4
jmp 0x1004b31c
mov dword [ebp - 0x38], 0xf80366e5
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x34], 0x5c5395f8
mov dword [ebp - 0x24], 0xfffffffa
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004b2b7
push ebx
push ebx
push 0x1314
push 0x2d6
push 0xa3f
call dword [sym.imp.USER32.dll_ScrollWindow]
cmp dword [ebp - 0x38], ebx
je 0x1004b2c8
cmp dword [ebp - 0x2c], ebx
je 0x1004b2c8
xor esi, esi
inc esi
mov eax, esi
jmp 0x1004b2cd
xor esi, esi
mov eax, ebx
inc esi
mov dword [ebp - 0x2c], eax
xor edx, edx
mov dword [ebp - 0x24], 0xdaed0f12
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x68], ecx
jmp 0x1004b26d
xor esi, esi
inc esi
mov dword [ebp - 0x2c], ebx
jmp 0x1004b39d
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0x996bd0c7
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x18], 0xb
jmp 0x1004b394
mov dword [ebp - 0x30], 0xc22f747e
xor edx, edx
mov dword [ebp - 0x34], 0x9f113d0
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, esi
setg al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jne 0x1004b38c
cmp dword [ebp - 0x1d0], ebx
jne 0x1004b38c
mov eax, ebx
cmp dword [ebp - 0x44], ebx
je 0x1004b38e
mov eax, esi
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jge 0x1004b33b
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe6
jle 0x1004b321
cmp dword [ebp - 0x3c], 0
jne 0x1004b579
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x1004b579
push edi
lea ecx, [ebp - 0x194]
call fcn.100336b5
xor ecx, ecx
mov dword [ebp - 4], 0x1b
inc ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jge 0x1004b3f7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004b3e0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ebx
jmp 0x1004b40d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x134], 0x838a1f94
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004b3fc
mov dword [ebp - 0x130], ebx
cmp dword [ebp - 0x130], ecx
jg 0x1004b4f2
mov dword [ebp - 0x38], 0x3962
cmp dword [ebp - 0x38], 0x3b49
jle 0x1004b484
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], esi
and esi, edi
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x10612a38
xor eax, edi
cdq
push edx
push eax
call fcn.100335a0
inc edi
cmp edi, 0x1681
jl 0x1004b449
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x7b42
jl 0x1004b43f
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x2d64
jl 0x1004b43a
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004b49d
push 0x1421
push 0x1c2c
call dword [sym.imp.USER32.dll_GetWindow]
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x38], 0x357f
jge 0x1004b4b9
mov edx, 0x1000c36c
mov ecx, 0x10612a38
call fcn.1003504a
xor ecx, ecx
inc ecx
mov dword [ebp - 4], 0x1b
inc dword [ebp - 0x130]
jmp 0x1004b419
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x1004b54d
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x14c]
push 3
call fcn.100336b5
mov dword [ebp - 0x20], ebx
jmp 0x1004b522
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14c]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1004b50f
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14c]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x14c]
call fcn.10033737
dec dword [ebp - 0x18]
push 1
pop ecx
jns 0x1004b4fa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x194]
call fcn.10033737
mov edx, dword [ebp - 0x4c]
mov ecx, esi
call fcn.100495d9
mov esi, eax
lea eax, [ebp - 0x54]
push eax
mov dword [ebp - 0xe0], esi
call fcn.1004b666
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [ebp - 0xe0]
mov ecx, dword [ebp - 0xc]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret