Function at 0x43219a
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xdf99ff60
mov dword [ebp - 0x28], 0
push 3
mov byte [ebp - 0x29], dl
call fcn.00431e27
mov dword [ebp - 4], 0
jmp 0x4321de
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1d8], 0xe0c8
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x4321cd
mov dword [ebp - 4], 0
jmp 0x4321fd
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xf8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x4321ed
push ebx
push esi
push edi
mov dword [ebp - 4], 0
cmp dword [ebp - 4], 0xffffffef
push 1
pop esi
jg 0x432380
mov ebx, 0x34e401d9
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x110]
push 4
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x432254
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + edx*4], 0x8ebdb88d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x432241
cmp dword [ebp - 8], eax
je 0x43231c
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
neg ecx
cmp ecx, 0xa21e1d82
jae 0x43231c
mov dword [ebp - 8], 0x11
cmp dword [ebp - 8], 0xffffffe7
jge 0x432368
xor edi, edi
inc edi
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x20], 0x68e10d32
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x43230e
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x4322d8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4322d5
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x4322c3
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [esi + 0xc], ebx
mov ecx, dword [ebp + ecx*4 - 0x1d8]
cmp ecx, ebx
setne dl
cmp edx, dword [ebp - 4]
jle 0x4322fe
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x432300
mov ecx, edi
cmp edi, ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x18]
jns 0x4322b7
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe7
jl 0x432297
xor esi, esi
inc esi
jmp 0x432368
mov dword [ebp - 0x20], 0x380a
xor edx, edx
mov dword [ebp - 0x1c], 0x83312ef3
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0x8968f25c
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x28], 0xd88ca0e2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0xf8]
setg dl
mov dword [eax], edx
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x110]
call fcn.00431ef9
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffef
jle 0x43221f
lea ecx, [ebp - 0xf8]
call fcn.00431ef9
push 2
pop ebx
mov dword [ebp - 4], 0x41e5
lea ecx, [ebp - 0x1a0]
push ebx
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x4323b7
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x4323a8
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x4323cd
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [ebp - 4], eax
je 0x432472
push 3
lea ecx, [ebp - 0x128]
call fcn.00431e27
push 3
mov dword [ebp - 4], 0
pop edx
jmp 0x432408
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0x9807
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x4323f5
mov dword [ebp - 4], 0
jmp 0x432427
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1bc], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x432416
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 4], 0xfffffff4
jmp 0x43245f
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x43245c
push 0x1f45
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x33
je 0x432444
lea ecx, [ebp - 0x128]
call fcn.00431ef9
jmp 0x4324f0
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x28], 0xfebfb2c4
mov dword [ebp - 0x20], 0x99cdf9c7
mov dword [ebp - 4], eax
jmp 0x4324d4
mov dword [ebp - 8], 8
dec dword [ebp - 8]
mov dword [ebp - 8], eax
jmp 0x4324cc
mov dword [ebp - 0x14], 0x4eb4c8f0
mov dword [ebp - 0x14], eax
jmp 0x4324c4
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4324c1
push 0x1bc9
push eax
push eax
push 0x1f73
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x4324a3
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x432497
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x432488
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
dec dword [ebp - 0x10]
cmp ecx, edx
cmovl eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1a0]
call fcn.00431ef9
mov dword [ebp - 0x18], 0x25b9b55b
xor eax, eax
mov dword [ebp - 0x1c], 0x77cce45d
mov dword [ebp - 0x1c], 0x95ff79fa
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0xc34ccbb2
mov dword [ebp - 0x1c], 0xc321a078
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], 0xaa83fb18
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], eax
jmp 0x43254d
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x158], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x432540
mov dword [ebp - 0x18], 0x1c
cmp dword [ebp - 0x18], 0xa
jle 0x432632
mov dword [ebp - 0x10], 0x2b53
lea ecx, [ebp - 0xd4]
push ebx
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x1c], 0xf444
mov dword [ebp - 4], eax
jmp 0x432591
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x1c8], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x432584
mov dword [ebp - 4], eax
jmp 0x4325ac
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xd4]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x43259c
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 4], edx
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x432618
mov dword [ebp - 0x1c], 0x66d8ff8c
lea ecx, [ebp - 0x174]
push 4
call fcn.00431e27
mov dword [ebp - 0x28], 0xeb
mov dword [ebp - 0x14], 0
jmp 0x4325ff
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4325ec
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x174]
call fcn.00431ef9
dec dword [ebp - 0x10]
jns 0x4325c8
lea ecx, [ebp - 0xd4]
call fcn.00431ef9
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jg 0x432563
xor eax, eax
mov ecx, dword [0x4a95ec]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x20], 0x3d8da8e9
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x10], 0xc8d3c891
push 4
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
call fcn.00431e27
push esi
lea ecx, [ebp - 0xb0]
call fcn.00431e27
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0xec]
push esi
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
jmp 0x4326a7
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x184]
mov dword [ecx + edx*4], 0xaa6e6f7
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x432694
mov dword [ebp - 4], eax
jmp 0x4326bc
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x78], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4326b2
mov dword [ebp - 4], eax
jmp 0x4326d9
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + edx*4], 0x5cf1c946
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4326c6
mov dword [ebp - 4], eax
jmp 0x4326f6
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xec]
mov dword [ecx + edx*4], 0xfffffffc
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4326e3
cmp dword [ebp - 0x20], eax
jne 0x432741
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xec]
cmp edx, dword [ecx]
jl 0x432714
cmp dword [ebp - 0x14], eax
jne 0x432714
mov esi, eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx], edx
jle 0x43272b
cmp dword [ebp - 0x14], eax
je 0x43272b
xor ecx, ecx
inc ecx
jmp 0x43272d
mov ecx, eax
dec dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x10]
setge dl
xor esi, esi
inc esi
sub ecx, edx
je 0x432743
mov eax, esi
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x10], eax
call fcn.00431ef9
lea ecx, [ebp - 0xb0]
call fcn.00431ef9
lea ecx, [ebp - 0x184]
call fcn.00431ef9
cmp byte [ebp - 0x29], 0
je 0x4328ea
cmp dword [ebp - 0x28], esi
jne 0x4328ea
push dword [ebp + 8]
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 4], 0xffffffff
push ecx
xor eax, eax
mov dword [ebp - 0x10], 0x4dd03248
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x10], 0x20dd93ba
push ecx
xorps xmm0, xmm0
mov dword [ebx + 8], 4
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
movdqu xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
call fcn.00431f6a
mov dword [ebp - 0x10], 0xfffffff7
xor eax, eax
mov dword [ebp - 0x20], 0x3418eb0b
mov dword [ebp - 8], eax
jmp 0x4327f8
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x13c], 8
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4327e7
mov dword [ebp - 8], eax
jmp 0x432810
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x88], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x432803
mov ecx, dword [ebp - 4]
xor edx, edx
cmp ecx, ecx
setg dl
sub edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
inc edx
cmp edx, esi
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp edx, ecx
setge bl
imul ebx, dword [ebp - 4]
test ebx, ebx
je 0x43285f
cmp dword [ebp - 0x10], eax
je 0x43285f
mov edx, esi
cmp dword [ebp - 4], eax
jne 0x432861
mov edx, eax
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
sete cl
xor edx, edx
cmp ecx, 0x2d38ca8c
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x94]
add edx, 3
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 4]
sub edx, eax
mov eax, dword [ebp - 4]
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0xfffffff9
setg dl
xor ecx, ecx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x10]
cmp eax, edx
setle cl
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x94]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x20], eax
call fcn.00431ef9
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x4a95ec
mov dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x20], 0xda87b8b0
mov dword [ebp - 0x10], 0x50c19791
mov dword [ebp - 0x10], 0x43a64e78
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 8], ecx
jmp 0x432922
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30], 0xfffb
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x432914
mov dword [ebp - 8], ecx
jmp 0x43293d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x194], 0xfffffff7
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x43292c
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ecx
jl 0x432a39
push 3
lea ecx, [ebp - 0x11c]
call fcn.00431e27
push 2
lea ecx, [ebp - 0x104]
call fcn.00431e27
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x43297f
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + edx*4], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x432970
mov dword [ebp - 8], eax
jmp 0x43299d
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x104]
mov dword [ecx + edx*4], 0x35d56974
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x43298a
mov ecx, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
cmp ecx, 0xef5d
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
setg dl
sub esi, edx
neg esi
sbb esi, esi
inc esi
cmp esi, dword [ebp + ecx*4 - 0x30]
jge 0x4329d2
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
xor edx, edx
xor esi, esi
inc esi
cmp ecx, esi
mov ecx, dword [ebp - 4]
setge dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 4]
setl bl
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0x30]
cmp ebx, ecx
setle dl
imul ecx, edx, 0xffff
mov edx, dword [ebp - 0x11c]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
mov dword [edx], 7
dec dword [ecx]
jns 0x432a0e
lea ecx, [ebp - 0x104]
call fcn.00431ef9
lea ecx, [ebp - 0x11c]
call fcn.00431ef9
dec dword [ebp - 4]
jns 0x43294f
xor ecx, ecx
cmp dword [ebp - 0x194], ecx
jne 0x432a9a
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xfffffffc
cmp dword [ebp - 4], ecx
jne 0x432a57
mov edx, ecx
cmp dword [ebp - 0x20], ecx
je 0x432a59
mov edx, esi
mov eax, dword [ebp - 0x30]
add edx, 0xffff1490
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x190]
setl bl
xor edx, edx
cmp ebx, eax
setne dl
mov dword [ebp - 0x10], edx
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, 5
mov eax, dword [ebp - 0x188]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setge bl
add eax, ebx
mov eax, ecx
je 0x432a9c
mov eax, esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
cmp esi, dword [ebp - 0x28]
jge 0x43375c
mov dword [ebp - 8], 0xc443eb60
xor ebx, ebx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], 0x3062a4b1
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp edx, eax
setle bl
xor edx, edx
imul ebx, dword [ebp - 8]
imul ebx, dword [ebp - 8]
imul eax, ebx, 0x3c61
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
test eax, eax
setle dl
sub edx, dword [ebp - 8]
je 0x432b2a
cmp dword [ebp - 0x20], ecx
je 0x432b2a
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x432b16
push ecx
push ecx
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
xor ecx, ecx
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x432b55
call edi
push eax
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x432b55
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x432b44
push ecx
push 0x1272
call edi
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor ecx, ecx
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x432b55
push ecx
push ecx
call dword [sym.imp.USER32.dll_LoadMenuW]
mov dword [ebp - 4], 0xfffffffe
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x1c], 0xffffffff
mov ebx, 0x4a95f0
push 2
call fcn.00431e27
xor edi, edi
inc edi
xor eax, eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], eax
jmp 0x432b95
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x148]
mov dword [ecx + edx*4], 0x68044455
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x432b82
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x432bbd
push eax
push eax
push 0x1b82
push eax
push 0x568
push eax
push 0x1355
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [ebp - 4], 0x14
jmp 0x432cd2
mov dword [ebp - 0x18], 9
lea ecx, [ebp - 0x164]
push 2
call fcn.00431e27
mov dword [ebp - 0x1c], 5
xor eax, eax
mov dword [ebp - 0x10], 0xffff
mov dword [ebp - 8], eax
jmp 0x432bff
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x1e8], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x432bf2
mov dword [ebp - 8], eax
jmp 0x432c1d
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x164]
mov dword [ecx + edx*4], 0xf93f8de9
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x432c0a
mov dword [ebp - 0x18], 0x18
jmp 0x432cba
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0x82f80c34
mov dword [ebp - 0x1c], 0x17c10977
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0x2f3f
mov dword [ebp - 0x1c], 0xd0bb94d0
mov dword [ebp - 0x1c], 0x71a0513
mov dword [ebp - 0x1c], 0xc9a130df
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0xb91ee4c
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0xaf9031ea
mov dword [ebp - 0x1c], 0xdd3ed23c
mov dword [ebp - 0x1c], 0xbbe58ed0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x432c9c
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x1f8], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x432c8f
dec dword [ebp - 0x10]
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x432cb7
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe
jle 0x432c2f
lea ecx, [ebp - 0x164]
call fcn.00431ef9
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1d
jne 0x432bc9
lea ecx, [ebp - 0x148]
call fcn.00431ef9
test esi, esi
jle 0x433143
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x432d00
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x6c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x432cf6
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], eax
jle 0x432d9f
push edi
lea ecx, [ebp - 0x134]
call fcn.00431e27
push 2
lea ecx, [ebp - 0xa4]
call fcn.00431e27
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x432d45
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x134]
mov dword [ecx + edx*4], 0x9b2cfb63
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x432d32
mov dword [ebp - 8], eax
jmp 0x432d62
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx + edx*4], 0xfffffffe
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x432d4f
mov ecx, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
inc dword [ecx + 4]
cmp dword [ecx + 4], eax
jle 0x432d71
cmp dword [ebp - 0x64], eax
lea ecx, [ebp - 0xa4]
call fcn.00431ef9
lea ecx, [ebp - 0x134]
call fcn.00431ef9
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0
jg 0x432d12
mov edi, dword [ebx]
lea ecx, [ebp - 0x154]
xor esi, esi
inc esi
mov dword [ebp - 8], esi
push 3
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0x53f3ac9d
mov dword [ebp - 8], eax
jmp 0x432dd3
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x48], 0x689351f2
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x432dc5
mov dword [ebp - 8], eax
jmp 0x432df0
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x154]
mov dword [ecx + edx*4], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x432ddd
mov dword [ebp - 8], eax
jmp 0x432e1c
mov dword [ebp - 4], esi
mov dword [ebp - 4], eax
jmp 0x432e0f
mov ecx, dword [ebp - 4]
cmp dword [ebp + ecx*4 - 0x48], eax
jne 0x432e14
inc dword [ebp - 4]
cmp dword [ebp - 4], eax
jle 0x432e03
cmp dword [ebp - 4], eax
jne 0x432e22
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1c
je 0x432dfb
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
sub edx, 0xbdac
neg edx
sbb edx, edx
inc edx
imul ecx, edx
test ecx, ecx
je 0x432e6c
mov dword [ebp - 8], 2
cmp dword [ebp - 8], eax
jl 0x432e92
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x432e65
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
xor eax, eax
dec dword [ebp - 8]
jns 0x432e4c
jmp 0x432e92
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x432e92
push 0x1800
push 0xa7a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
lea ecx, [ebp - 0x154]
call fcn.00431ef9
mov dword [ebp - 4], 0xfffffff6
add ebx, 4
mov dword [ebp - 8], 0xcadd635
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 4]
xor eax, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 4], eax
jne 0x432ecb
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
xor ebx, ebx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp edx, ecx
mov ecx, dword [ebp - 4]
setl bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 4]
setne dl
mov dword [ebp - 0x20], edx
xor edx, edx
cmp dword [ebp - 0x20], ecx
setle dl
mov dword [ebp - 8], edx
xor edx, edx
mov ecx, dword [ebp - 8]
cmp ecx, 0xce96f8f
setle dl
cmp edx, 0xd02e889e
jbe 0x432f14
cmp dword [ebp - 4], eax
jne 0x432f1b
mov edx, eax
cmp dword [ebp - 8], eax
je 0x432f1d
mov edx, esi
xor ecx, ecx
cmp edx, esi
setne cl
cmp dword [ebp - 4], ecx
je 0x432f42
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x432f49
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ShowCaret]
xor eax, eax
jmp 0x432f49
mov dword [ebp - 8], 0x881826fb
cmp dword [ebp - 8], eax
je 0x432f53
cmp dword [ebp - 4], eax
jne 0x432f55
mov esi, eax
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, 0xd538
mov eax, dword [ebp - 4]
push 3
setge cl
xor edx, edx
cmp esi, ecx
setge dl
xor ebx, ebx
cmp edx, eax
setl bl
sub ebx, dword [ebp - 8]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
sub ebx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, ebx
mov ebx, dword [ebp - 0x18]
setg cl
xor eax, eax
cmp ecx, 0x712bad47
setg al
xor ecx, ecx
cmp eax, 0xfffffffa
mov eax, dword [ebp - 0x10]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
mov esi, dword [ebx]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0xe0]
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x432fda
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x432fcb
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x432ff6
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 8]
mov dword [ecx], eax
lea ecx, [ebp - 0xe0]
call fcn.00431ef9
xor eax, eax
mov dword [ebp - 0x14], 0x1e559696
xor edx, edx
mov dword [ebp - 0x14], eax
add ebx, 4
inc edx
jmp 0x433031
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x178], 0xfffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x433020
mov dword [ebp - 0x14], eax
jmp 0x433076
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x433073
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x433067
push 0x14c3
call dword [sym.imp.USER32.dll_GetSysColorBrush]
xor eax, eax
mov dword [ebp - 0x20], 0x56a3367f
dec dword [ebp - 0x10]
jns 0x433051
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x43303b
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x43309a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
xor eax, eax
test esi, esi
jne 0x4330a1
add ebx, 8
mov dword [ebp - 0x18], 0x265ab3e9
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 8], 0xe17c1097
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0x7af2c9a1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
jmp 0x4330db
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x80], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4330cd
mov esi, dword [ebp - 0x18]
xor edx, edx
neg esi
mov dword [ebp - 0x80], esi
dec dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
setl dl
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
jne 0x43310d
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0xfffffffa
setne dl
add ebx, edi
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
xor ecx, ecx
inc ecx
dec dword [ebp - 0x24]
push ecx
mov dword [ebp - 0x20], ecx
pop edi
jne 0x432cf1
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0xbc]
call fcn.00431e27
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
jmp 0x43316a
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x34], 0x8abc
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x43315c
mov dword [ebp - 8], eax
jmp 0x433183
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + edx*4], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x433174
cmp dword [ebp - 0x34], eax
je 0x43319c
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx], edx
test edx, edx
jne 0x43319e
mov edi, eax
mov esi, dword [ebp - 4]
sub esi, 8
neg esi
sbb esi, esi
xor edx, edx
inc esi
imul esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
cmp esi, ecx
setne dl
imul ecx, edx, 0xffff
xor edx, edx
cmp edi, ecx
setg dl
add edx, dword [ebp - 0x10]
jne 0x4331d2
cmp dword [ebp - 0x34], eax
jne 0x4331d2
mov esi, eax
jmp 0x4331d7
xor ecx, ecx
lea esi, [ecx + 1]
mov ecx, dword [ebp - 0x34]
xor edx, edx
cmp ecx, esi
mov ecx, dword [ebp - 0x10]
setge dl
add ecx, edx
je 0x4331eb
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x50df
setl dl
xor esi, esi
cmp edx, dword [ebp - 0x34]
jle 0x43321d
mov dword [ebp - 4], eax
inc esi
jmp 0x433216
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x43320c
jmp 0x433228
mov dword [ebp - 0x24], 5
inc dword [ebp - 0x24]
inc esi
lea ecx, [ebp - 0xbc]
call fcn.00431ef9
mov edi, dword [ebx]
xor eax, eax
mov dword [ebp - 0x18], 0x1e559696
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
jmp 0x433257
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x168], 0xfffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x433246
mov dword [ebp - 0x18], eax
jmp 0x43329c
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x433299
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x43328d
push 0x14c3
call dword [sym.imp.USER32.dll_GetSysColorBrush]
xor eax, eax
mov dword [ebp - 0x20], 0x56a3367f
dec dword [ebp - 0x10]
jns 0x433277
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x433261
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4332be
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
push 3
lea ecx, [ebp - 0x60]
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 8], eax
jmp 0x4332e2
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x60]
mov dword [ecx + edx*4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4332d6
mov dword [ebp - 8], eax
jmp 0x4332f7
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x3c], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4332ed
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x433321
push 0x42b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jg 0x43345a
push 2
pop esi
mov dword [ebp - 8], 0xcd53bc6e
mov dword [ebp - 0x1c], 0x128abf8b
mov dword [ebp - 8], eax
jmp 0x43343c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x433439
mov dword [ebp - 0x10], 0x66941fc9
mov dword [ebp - 0x1c], 0xffffffff
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x60]
cmp dword [ecx + edx*4], eax
jne 0x433439
mov dword [ebp - 0x10], eax
jmp 0x433427
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x38]
mov edi, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x18]
inc edi
neg edi
sbb edi, edi
xor edx, edx
neg edi
cmp edi, ecx
mov ecx, dword [ebp - 0x60]
sete dl
cmp edx, dword [ecx + esi*4]
jle 0x4333af
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x60]
push 2
pop esi
cmp dword [ecx + edx*4], eax
je 0x43341a
mov dword [ebp - 4], 0x4ddb84c6
mov dword [ebp - 4], eax
jmp 0x433408
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x433405
push eax
push 0x1af9
push 0x21d3
push 0xf04
push 0x1aa7
push 0x1fd5
push 0x227d
push 0x2217
push 0x1fc
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
xor eax, eax
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x4333c9
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x60]
cmp dword [ecx + edx*4], eax
jne 0x433430
jmp 0x433424
mov dword [ebp - 0x24], 0xfafbf261
inc dword [ebp - 0x24]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x43337b
dec dword [ebp - 0x18]
jns 0x433356
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x433347
mov ecx, dword [ebp - 0x38]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jle 0x433331
mov edi, dword [ebp - 0x14]
xor esi, esi
inc esi
lea ecx, [ebp - 0x60]
call fcn.00431ef9
mov eax, dword [ebx + 4]
xor ecx, ecx
mov dword [ebp - 4], 0xd4e06482
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 3
cmp dword [ebp - 4], 5
mov dword [ebp - 0x1c], eax
je 0x433574
mov dword [ebp - 0x18], 0xfc2285fa
lea ecx, [ebp - 0xc8]
push 3
call fcn.00431e27
xor eax, eax
mov dword [ebp - 0x24], 0x3acb6d64
mov dword [ebp - 8], eax
jmp 0x4334c2
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x84], 0xc4e2bf5f
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4334b1
mov dword [ebp - 8], eax
jmp 0x4334db
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + edx*4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4334cc
cmp dword [ebp - 4], eax
je 0x4334f4
imul ecx, dword [ebp - 0x18], 0xe30f
mov edx, esi
cmp ecx, 0xffffffff
jb 0x4334f6
mov edx, eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
add ecx, 0xfffffffb
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
cmp dword [ebp - 0x18], eax
je 0x433513
mov eax, esi
cmp eax, 0xd1cb6a7f
mov eax, dword [ebp - 4]
sbb ecx, ecx
inc ecx
imul ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [eax], ecx
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xc8]
call fcn.00431ef9
inc dword [ebp - 4]
cmp dword [ebp - 4], 5
jne 0x43348f
xor ecx, ecx
dec dword [ebp - 0x20]
add ebx, 8
mov dword [ebp - 4], 0xfffffffb
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ecx
jmp 0x43359a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x43358c
mov eax, dword [ebp - 4]
xor edx, edx
cmp eax, 0x5ee28fde
setge dl
imul esi, edx, 0xd9ba
sub esi, dword [ebp - 8]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, esi
setge dl
sub edx, 0xcfb6
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 4], edx
je 0x4335db
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x15
jle 0x43368d
xor edi, edi
inc edi
mov dword [ebp - 8], edi
cmp dword [ebp - 8], ecx
jl 0x43367a
mov dword [ebp - 0x24], 0x3240
xor ebx, ebx
mov dword [ebp - 0x20], 0xf7e29192
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 4]
cmp eax, 6
mov edx, dword [ebp - 0x24]
setge bl
sub edx, 2
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, ebx
setg al
cmp eax, 0xff5ecce3
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x40]
add edx, eax
mov eax, dword [ebp - 8]
mov esi, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x20]
add eax, edx
xor edx, edx
cmp eax, esi
setle dl
cmp edx, dword [ebp - 4]
jl 0x433662
mov edx, ecx
cmp dword [ebp - 8], ecx
je 0x433664
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x44]
add eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
dec dword [ebp - 8]
jns 0x4335fa
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x15
jg 0x4335ee
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], 0
jne 0x43375c
cmp byte [ebp - 0x29], 0
je 0x4336ae
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jne 0x4336ae
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 4]
add ebx, 8
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
call fcn.004822c0
mov ebx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x98]
push eax
push edi
call fcn.00464e35
xor ecx, ecx
test edi, edi
mov edi, dword [ebp - 0x54]
mov esi, ecx
jle 0x43373b
mov eax, esi
and eax, 0x80000001
jns 0x433702
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x1c]
add eax, esi
add eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x20]
jmp 0x433717
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x14]
cmp word [edi + edx*2], cx
jne 0x433714
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov byte [esi + ebx], al
inc esi
mov eax, dword [ebp - 0x14]
cmp esi, eax
jl 0x4336f4
jmp 0x43373e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [edx + 4], ebx
test edi, edi
je 0x43375c
push edi
call fcn.004837b6
pop ecx
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x265ab3e9
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0xe17c1097
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0x7af2c9a1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], ecx
jmp 0x433796
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x74], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x433788
mov esi, dword [ebp - 0x24]
xor edx, edx
neg esi
mov dword [ebp - 0x74], esi
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp esi, eax
setl dl
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jne 0x4337c8
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x70]
cmp eax, 0xfffffffa
mov eax, dword [ebp + 8]
setne cl
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
pop edi
pop esi
mov dword [ebp - 0x1c], ebx
pop ebx
mov esp, ebp
pop ebp
ret