Function at 0x402b70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x434cf7
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1160
call fcn.004228e0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x444424]
xor eax, esp
push eax
lea eax, [esp + 0x1178]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 8
mov dword [esp + 0x24], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, ebx
call fcn.0040c4ff
xor ebp, ebp
push ebp
call fcn.0040d398
add esp, 4
push 0x43b734
mov ecx, ebx
call fcn.0040d90d
push 0x800
lea edi, [ebx + 0xa8]
push ebp
push edi
call fcn.00420f70
add esp, 0xc
mov dword [edi + 0x800], ebp
call fcn.00401d30
mov ecx, edi
call fcn.00401e30
mov eax, edi
call fcn.00401f40
call fcn.00401fa0
push edi
call fcn.004022a0
push 0x43b754
call fcn.0041f9b9
add esp, 4
lea ecx, [esp + 0x24]
call fcn.0040dd99
push ebp
push 0x3002
push str.._binzcm.dat
lea ecx, [esp + 0x30]
mov dword [esp + 0x118c], ebp
call fcn.0040e1ca
test eax, eax
je 0x402ce5
push ebp
push 0x1000
push ebp
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x44]
call fcn.0040ea61
mov byte [esp + 0x1180], 1
xor esi, esi
call fcn.0041f9f0
cdq
mov ecx, 0x18a88
idiv ecx
mov edi, edx
mov edx, dword [esp + 0x4c]
not edx
test dl, 1
je 0x402d79
mov eax, dword [esp + 0x5c]
add eax, 4
cmp eax, dword [esp + 0x60]
jbe 0x402cac
lea ecx, [esp + 0x34]
call fcn.0040e4dc
mov ecx, dword [esp + 0x5c]
mov dword [ecx], edi
add dword [esp + 0x5c], 4
add esi, 1
cmp esi, 0x3e8
jl 0x402c78
lea ecx, [esp + 0x34]
call fcn.0040e8bc
lea ecx, [esp + 0x24]
call fcn.0040dd37
lea ecx, [esp + 0x34]
mov byte [esp + 0x1180], 0
call fcn.0040ea23
mov esi, 0x1388
lea ebx, [ebx]
call fcn.0041f9f0
sub esi, 1
jne 0x402cf0
push ebx
call fcn.00403180
test eax, eax
jne 0x4030c3
jmp 0x402d10
lea eax, [esp + 0x104]
push eax
call fcn.00402480
mov byte [esp + 0x1180], 2
mov ebx, dword [ebx + 0x1134]
mov edx, dword [esp + 0x178]
lea esi, [ebx - 0x10]
lea ebp, [edx - 0x10]
cmp esi, ebp
je 0x402ec6
cmp dword [ebp + 0xc], 0
lea edi, [ebp + 0xc]
jl 0x402de1
mov ecx, dword [esi]
cmp ecx, dword [ebp]
jne 0x402de1
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x402d85
cmp eax, dword [esi]
jne 0x402d85
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x402dbb
mov edx, dword [esp + 0x48]
push edx
push 2
call fcn.0040ec90
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x40305f
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0041f137
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [edi], edx
dec edx
test edx, edx
jg 0x402dd2
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebp
call edx
add ebx, 0x10
mov dword [esp + 0x178], ebx
jmp 0x402ec6
mov esi, dword [ebx - 0xc]
test esi, esi
jne 0x402e4a
cmp dword [ebp + 4], 0
mov esi, dword [ebp]
je 0x402ec6
cmp dword [ebp + 0xc], 0
lea eax, [ebp + 0xc]
jge 0x402e1e
cmp dword [edx - 8], 0
jl 0x403064
mov dword [edx - 0xc], 0
mov eax, dword [esp + 0x178]
mov byte [eax], 0
jmp 0x402ec6
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x402e35
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x178], eax
jmp 0x402ec6
test ebx, ebx
je 0x403064
mov ecx, dword [edx - 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov ecx, 1
sub ecx, dword [ebp + 0xc]
mov edi, ebx
sub eax, esi
sub edi, edx
or eax, ecx
jge 0x402e82
push esi
lea ecx, [esp + 0x17c]
call fcn.00401ab0
mov edx, dword [esp + 0x178]
cmp edi, dword [esp + 0x18]
push esi
ja 0x402e95
add edi, edx
push edi
push esi
push edx
call fcn.0041f0dc
jmp 0x402e9d
push ebx
push esi
push edx
call fcn.0041f137
add esp, 0x10
test esi, esi
jl 0x403064
mov eax, dword [esp + 0x178]
cmp esi, dword [eax - 8]
jg 0x403064
mov dword [eax - 0xc], esi
mov edx, dword [esp + 0x178]
mov byte [edx + esi], 0
lea ecx, [esp + 0x104]
call fcn.00405385
cmp eax, 1
jne 0x40306e
mov ebp, dword [esp + 0x14]
cmp byte [ebp + 0x1141], 0
jne 0x4030ab
mov eax, dword [esp + 0x17c]
mov edi, dword [ebp + 0x113c]
add ebp, 0x113c
lea esi, [eax - 0x10]
sub edi, 0x10
cmp esi, edi
je 0x402f9d
cmp dword [edi + 0xc], 0
jl 0x402f91
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x402f91
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x402f3a
cmp eax, dword [esi]
jne 0x402f3a
mov ebx, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x402f70
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x40305f
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0041f137
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x402f89
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
add ebx, 0x10
mov dword [ebp], ebx
jmp 0x402f9d
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, ebp
call fcn.00401c40
mov ecx, ebp
call section..text
test eax, eax
je 0x403042
mov esi, dword [ebp]
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub esi, 0x10
mov dword [esp + 0x1c], esp
mov ebx, esp
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x402fdd
cmp eax, dword [esi]
jne 0x402fdd
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x40300f
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x40305f
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0041f137
add esp, 0x10
mov esi, dword [esp + 0x18]
lea eax, [esi + 0xa8]
add edi, 0x10
push eax
mov dword [ebx], edi
call fcn.00401fe0
test al, al
jne 0x403075
lea ecx, [esp + 0x104]
mov byte [esp + 0x1180], al
call fcn.00402530
mov ebx, esi
jmp 0x402d10
lea ecx, [esp + 0x104]
mov byte [esp + 0x1180], 0
call fcn.00402530
mov ebx, dword [esp + 0x14]
jmp 0x402d10
jmp fcn.004017e0
push 0x80070057
call fcn.004018e0
push 0
call fcn.0041fc8e
mov eax, dword [esi + 0x113c]
push eax
push str.TEMPCACHE
push str.SYSCONEMP
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
lea ecx, [esp + 0x104]
mov byte [esi + 0x1140], 1
mov byte [esp + 0x1180], 0
call fcn.00402530
mov ebx, esi
jmp 0x4030c1
lea ecx, [esp + 0x104]
mov byte [esp + 0x1180], 0
call fcn.00402530
mov ebx, ebp
xor ebp, ebp
push ebp
push 0x66
lea ecx, [esp + 0x84]
call fcn.00404cc4
mov byte [esp + 0x1180], 3
mov dword [esp + 0x7c], vtable.CRegeditCtrlDlg.0
call fcn.0041004c
call fcn.0041004c
mov eax, dword [eax + 0xc]
push 0x80
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0x100], eax
mov byte [esp + 0xf4], 0
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf8], 0x258
lea edx, [esp + 0x7c]
mov byte [esp + 0x1180], 4
mov ecx, edx
mov dword [ebx + 0x20], edx
call fcn.00405385
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1180], 0
call fcn.00404c39
lea ecx, [esp + 0x24]
mov dword [esp + 0x1180], 0xffffffff
call fcn.0040de95
xor eax, eax
mov ecx, dword [esp + 0x1178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret