Function at 0x423420
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, dword [0x43c004]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push esi
mov dword [esp + 0x30], eax
push edi
mov dword [esp + 0x10], 0x3c62ba
call fcn.00406f30
test eax, eax
je 0x423717
mov dword [esp + 0x10], 0x3c62ba
call fcn.00403ef0
push 0x55
push 0x8a0ae76f
mov edx, 0xf
mov dword [esp + 0x18], 0x3c62ba
call fcn.004081b0
add esp, 8
call eax
mov edi, eax
mov ecx, edi
mov dword [esp + 0x10], edi
call fcn.00422100
cmp dword [0x43f04c], 0
jne 0x423734
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0x2f
mov byte [esp + 0x16], 0xa
mov byte [esp + 0x17], 0x7b
mov byte [esp + 0x18], 0x62
mov byte [esp + 0x19], 0x3d
mov byte [esp + 0x1a], 0x3d
mov byte [esp + 0x1b], 0x3c
mov byte [esp + 0x1c], 0x62
mov byte [esp + 0x1d], 0x7d
mov byte [esp + 0x1e], 0x16
mov byte [esp + 0x1f], 0x23
mov byte [esp + 0x20], 0x56
mov byte [esp + 0x21], 0x3d
mov byte [esp + 0x22], 0x43
mov byte [esp + 0x23], 0x5d
mov byte [esp + 0x24], 0x23
mov byte [esp + 0x25], 0x3b
mov byte [esp + 0x26], 0x62
mov byte [esp + 0x27], 0x2f
mov byte [esp + 0x28], 4
mov byte [esp + 0x29], 0x43
mov byte [esp + 0x2a], 4
mov byte [esp + 0x2b], 0x69
mov byte [esp + 0x2c], 0x37
mov byte [esp + 0x2d], 0x10
mov byte [esp + 0x2e], 0x3e
mov al, byte [esp + 0x15]
cmp byte [esp + 0x14], 0
jne 0x423562
xor ecx, ecx
lea esi, [ecx + 0x7f]
nop dword [eax + eax]
mov al, byte [esp + ecx + 0x15]
movzx eax, al
sub eax, 0x3e
lea eax, [eax + eax*4]
add eax, eax
cdq
idiv esi
lea eax, [edx + 0x7f]
cdq
idiv esi
mov byte [esp + ecx + 0x15], dl
inc ecx
cmp ecx, 0x1a
jb 0x423540
push 0x54
push 0x20d8fa8c
mov edx, 0xf
call fcn.004081b0
add esp, 8
lea ecx, [esp + 0x15]
push ecx
push 1
push 0
call eax
push 0x62
push 0xe0c23134
mov edx, 0xf
mov edi, eax
call fcn.004081b0
add esp, 8
push 0
push edi
call eax
test eax, eax
je 0x423730
mov dword [esp + 0xc], 0x3c62ba
mov ebx, 3
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423603
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4235db
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x423712
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4235fc
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4235e1
jmp 0x423712
and eax, 0x80000001
jns 0x423611
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x42364a
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423712
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423631
jmp 0x423712
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42365c
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4236bd
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423681
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x423712
mov esi, 5
nop dword [eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4236a2
dec eax
jmp 0x4236a3
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4236b9
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423690
jmp 0x423712
mov eax, dword [esp + 0xc]
mov esi, 5
cdq
idiv esi
test edx, edx
je 0x423712
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423712
nop dword [eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423702
inc eax
jmp 0x423703
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4236f0
call fcn.004229d0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004279e2
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [esp + 0x10]
mov dword [esp + 0xc], 0x3c62ba
mov ebx, 3
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
lea esi, [ebx + 2]
test edx, edx
je 0x423795
lea eax, [esp + eax + 0x32]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42376d
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x423893
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42378e
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423773
jmp 0x423893
and eax, 0x80000001
jns 0x4237a3
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4237e0
mov eax, 2
lea ecx, [esp + 0x30]
sub eax, ecx
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423893
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4237c7
jmp 0x423893
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4237f2
dec eax
or eax, 0xfffffffc
add eax, 1
mov eax, dword [esp + 0xc]
je 0x42384d
add eax, 2
lea ecx, [esp + 0x33]
imul eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423818
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x423893
nop word [eax + eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423832
dec eax
jmp 0x423833
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423849
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423820
jmp 0x423893
cdq
idiv esi
test edx, edx
je 0x423893
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x47]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423893
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423883
inc eax
jmp 0x423884
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423871
call fcn.004027e0
test eax, eax
je 0x423717
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423902
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4238d2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4239f8
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4238fb
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4238e0
jmp 0x4239f8
and eax, 0x80000001
jns 0x423910
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423949
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4239f8
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423930
jmp 0x4239f8
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42395b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4239af
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423980
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x4239f8
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423994
dec eax
jmp 0x423995
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4239ab
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423982
jmp 0x4239f8
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x4239f8
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4239f8
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4239e8
inc eax
jmp 0x4239e9
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4239d6
call fcn.00402df0
test eax, eax
je 0x423717
cmp dword [0x43cc84], 0xe
mov edx, 0xf
mov dword [esp + 0x10], 0x3c62ba
jne 0x423acc
push 0x49
push 0xddde40d3
mov dword [0x43f0e0], 0
mov dword [0x43f0e4], 0x43f0e0
mov dword [0x43f0c0], 1
mov dword [0x43f0c4], 0
call fcn.004081b0
add esp, 8
push 0x43f0c8
call eax
push 4
call fcn.0042ae75
add esp, 4
mov dword [eax], 0
mov dword [0x43f0bc], eax
test eax, eax
je 0x423717
xor ecx, ecx
call fcn.00427770
test eax, eax
je 0x423717
sub esp, 0x18
mov ecx, esp
push 0x43e4e8
call fcn.004212a0
xor ecx, ecx
call fcn.004277e0
add esp, 0x18
xor ecx, ecx
call fcn.004278e0
mov dword [esp + 0x10], 0x3c62ba
call fcn.004229d0
mov ecx, dword [esp + 0x64]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004279e2
mov esp, ebp
pop ebp
ret 0x10
push 0x5a
push 0xde1467b1
call fcn.004081b0
add esp, 8
lea ecx, [esp + 0x40]
push ecx
call eax
movzx edi, word [esp + 0x40]
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423b42
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423b19
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x423c42
nop
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423b3b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423b20
jmp 0x423c42
and eax, 0x80000001
jns 0x423b50
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423b89
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423c42
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423b70
jmp 0x423c42
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423b9b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423bf3
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423bc0
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x423c42
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423bd8
dec eax
jmp 0x423bd9
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423bef
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423bc6
jmp 0x423c42
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x423c42
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423c42
nop word [eax + eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423c32
inc eax
jmp 0x423c33
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423c20
cmp dword [0x43cc84], 0xa
jne 0x423c51
mov edi, dword [esp + 0x54]
jmp 0x423c58
mov eax, dword [esp + 0x54]
lea edi, [eax + eax]
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], edi
test edx, edx
je 0x423cb6
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423c8e
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x423db2
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423caf
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423c94
jmp 0x423db2
and eax, 0x80000001
jns 0x423cc4
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423cfd
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423db2
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423ce4
jmp 0x423db2
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423d0f
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423d63
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423d34
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x423db2
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423d48
dec eax
jmp 0x423d49
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423d5f
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423d36
jmp 0x423db2
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x423db2
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423db2
nop word [eax + eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423da2
inc eax
jmp 0x423da3
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423d90
mov eax, dword [0x43cc84]
cmp eax, 0xa
je 0x423dc5
cmp eax, 0xb
jne 0x424118
push 0x49
push 0xddde40d3
mov edx, 0xf
mov dword [0x43f0e0], 0
mov dword [0x43f0e4], 0x43f0e0
mov dword [0x43f0c0], edi
mov dword [0x43f0c4], 0
call fcn.004081b0
add esp, 8
push 0x43f0c8
call eax
lea esi, [edi*4]
push esi
call fcn.0042ae75
add esp, 4
mov edi, eax
push esi
push 0
push edi
call fcn.00428c80
add esp, 0xc
mov dword [0x43f0bc], edi
test edi, edi
je 0x423717
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423f02
mov edi, dword [esp + 0x10]
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423e6a
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x423e8d
nop dword [eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423e8b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423e70
mov esi, 5
xor ecx, ecx
call fcn.00427770
test eax, eax
je 0x423717
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x42401e
add eax, 2
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423ed7
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x424118
nop dword [eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423efb
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x423ee0
jmp 0x424118
and eax, 0x80000001
jns 0x423f10
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423f4d
mov edi, dword [esp + 0x10]
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423e8d
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423f34
jmp 0x423e8d
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x423f5f
dec eax
or eax, 0xfffffffc
add eax, 1
mov edi, dword [esp + 0x10]
je 0x423fc3
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423f88
dec eax
or eax, 0xfffffffe
add eax, 1
mov esi, 5
jne 0x423e92
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x423fa5
dec eax
jmp 0x423fa6
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x423fbc
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x423f93
jmp 0x423e92
mov eax, dword [esp + 0xc]
mov esi, 5
cdq
idiv esi
test edx, edx
je 0x423e92
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x423e92
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424009
inc eax
jmp 0x42400a
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x423ff7
jmp 0x423e92
and eax, 0x80000001
jns 0x42402c
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424069
mov eax, 2
sub eax, edi
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424118
nop dword [eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424050
jmp 0x424118
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42407b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4240cf
mov ecx, dword [esp + 0xc]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4240a0
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x424118
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4240b4
dec eax
jmp 0x4240b5
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4240cb
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4240a2
jmp 0x424118
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x424118
mov eax, dword [esp + 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424118
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424108
inc eax
jmp 0x424109
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4240f6
mov eax, dword [0x43cc84]
cmp eax, 0xa
je 0x42412b
cmp eax, 0xc
jne 0x4244e4
mov esi, dword [esp + 0x10]
mov edx, 0xf
push 0x49
push 0xddde40d3
mov dword [0x43f0b4], 0
mov dword [0x43f0b8], 0x43f0b4
mov dword [0x43f094], esi
mov dword [0x43f098], 0
call fcn.004081b0
add esp, 8
push 0x43f09c
call eax
shl esi, 2
push esi
call fcn.0042ae75
add esp, 4
mov edi, eax
push esi
push 0
push edi
call fcn.00428c80
add esp, 0xc
mov dword [0x43f090], edi
test edi, edi
je 0x423717
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4242b2
add eax, 2
add eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4241ce
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4241ed
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4241eb
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4241d0
mov esi, 5
xor edi, edi
mov dword [0x43f098], 1
cmp dword [0x43f094], edi
jbe 0x42424a
nop word [eax + eax]
push 0x52
push 0x8687ce53
mov edx, 0xf
call fcn.004081b0
add esp, 8
push 0
push 0
push 0x43f090
push 0x4275d0
push 0
push 0
call eax
mov ecx, dword [0x43f090]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, dword [0x43f094]
jb 0x424210
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4243d7
add eax, 2
add eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x424282
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4244e9
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4242ab
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x424290
jmp 0x4244e9
and eax, 0x80000001
jns 0x4242c0
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4242fb
mov eax, 2
sub eax, dword [esp + 0x10]
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4241ed
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4242e2
jmp 0x4241ed
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42430d
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x424371
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add ecx, 2
add eax, 3
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x424336
dec eax
or eax, 0xfffffffe
add eax, 1
mov esi, 5
jne 0x4241f2
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424353
dec eax
jmp 0x424354
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x42436a
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424341
jmp 0x4241f2
mov eax, dword [esp + 0xc]
mov esi, 5
cdq
idiv esi
test edx, edx
je 0x4241f2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4241f2
nop dword [eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4243c2
inc eax
jmp 0x4243c3
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4243b0
jmp 0x4241f2
and eax, 0x80000001
jns 0x4243e5
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424420
mov eax, 2
sub eax, dword [esp + 0x10]
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4244e9
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424407
jmp 0x4244e9
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x424432
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x42448e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add ecx, 2
add eax, 3
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x42445b
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x4244e9
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424473
dec eax
jmp 0x424474
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x42448a
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424461
jmp 0x4244e9
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x4244e9
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4244e9
nop dword [eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4244d2
inc eax
jmp 0x4244d3
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4244c0
jmp 0x4244e9
mov esi, 5
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.00426c90
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [0x43f028], eax
call fcn.004096f0
mov eax, dword [0x43cc84]
cmp eax, 0xa
je 0x424523
cmp eax, 0xb
jne 0x4249a6
lea ecx, [esp + 0x30]
call fcn.0041ea30
test eax, eax
je 0x4249a1
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424592
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
add eax, 2
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42456a
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4246a2
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42458b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x424570
jmp 0x4246a2
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4245a4
dec eax
or eax, 0xfffffffe
add eax, 1
mov eax, dword [esp + 0xc]
je 0x4245e9
mov ecx, 2
sub ecx, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4246a2
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4245d0
jmp 0x4246a2
and eax, 0x80000003
jns 0x4245f7
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x424653
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
add ecx, 2
add eax, 3
imul eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x424620
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x4246a2
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424638
dec eax
jmp 0x424639
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x42464f
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424626
jmp 0x4246a2
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x4246a2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x4246a2
nop
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424692
inc eax
jmp 0x424693
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424680
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424702
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4246d2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x424802
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4246fb
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4246e0
jmp 0x424802
and eax, 0x80000001
jns 0x424710
dec eax
or eax, 0xfffffffe
add eax, 1
mov eax, dword [esp + 0xc]
je 0x424749
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424802
nop dword [eax]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424730
jmp 0x424802
and eax, 0x80000003
jns 0x424757
dec eax
or eax, 0xfffffffc
add eax, 1
mov eax, dword [esp + 0xc]
je 0x4247ad
add eax, 2
lea eax, [eax + eax*2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x424779
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x424802
nop
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424792
dec eax
jmp 0x424793
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x4247a9
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424780
jmp 0x424802
cdq
idiv esi
test edx, edx
je 0x424802
mov ecx, dword [esp + 0xc]
mov eax, 0xb21642c9
add ecx, 0xb
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424802
nop dword [eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x4247f2
inc eax
jmp 0x4247f3
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4247e0
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4249a1
nop
sub esp, 0x18
mov ecx, esp
push edi
call fcn.004212a0
xor ecx, ecx
call fcn.004277e0
add esp, 0x18
mov dword [esp + 0x10], edi
cmp dword [edi + 0x14], 8
mov ecx, edi
jb 0x424837
mov ecx, dword [edi]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x3c62ba
mov eax, dword [esp + 0xc]
cdq
idiv ebx
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424892
add eax, 2
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x424869
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x424996
nop
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x42488b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x424870
jmp 0x424996
and eax, 0x80000001
jns 0x4248a0
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4248d9
mov eax, 2
sub eax, ecx
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424996
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x4248c0
jmp 0x424996
mov eax, dword [esp + 0xc]
and eax, 0x80000003
jns 0x4248eb
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x42494d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add ecx, 2
add eax, 3
imul ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x424914
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x424996
nop word [eax + eax]
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424932
dec eax
jmp 0x424933
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 0x80000001
jns 0x424949
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x424920
jmp 0x424996
mov eax, dword [esp + 0xc]
cdq
idiv esi
test edx, edx
je 0x424996
mov eax, dword [esp + 0xc]
add ecx, 0x17
add eax, 0xb
cdq
idiv ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
jne 0x424996
mov eax, dword [esp + 0xc]
cdq
idiv esi
mov eax, dword [esp + 0xc]
test edx, edx
je 0x424986
inc eax
jmp 0x424987
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cdq
idiv ebx
test edx, edx
je 0x424974
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x424810
mov eax, dword [0x43cc84]
cmp eax, 0xa
je 0x4249b0
cmp eax, 0xc
jne 0x4249b5
call fcn.004260a0
cmp dword [0x43f0c4], 0
je 0x4249c5
xor ecx, ecx
call fcn.004278e0
cmp dword [0x43f098], 0
je 0x423aa9
mov ecx, 1
jmp 0x423aa4