Function at 0x43420e
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4b9a6d
call fcn.004b9128
push ecx
mov eax, 0x1228
call fcn.004b5ad0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x6c], dl
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x30], 0x4f39
xor eax, eax
cmp dword [ebp - 0x30], 0x516c
jle 0x434272
mov esi, eax
mov edi, eax
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xad66f8
call fcn.00431c71
inc edi
cmp edi, 0x3ea5
jl 0x43424c
inc esi
cmp esi, 0x22d3
push 0
pop eax
jl 0x43424a
mov dword [ebp - 0x688], 0x7eede0b4
mov dword [ebp - 0x684], 0x7eede0b4
mov dword [ebp - 0x680], 0x7eede0b4
mov dword [ebp - 0x67c], 0x7eede0b4
mov dword [ebp - 4], eax
cmp dword [ebp - 0x30], 0x4e21
jge 0x4342b5
mov edx, 0xab8410
mov ecx, 0xad66f8
call fcn.00433a27
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x24], 0x13
jmp 0x43430a
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x434307
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x688], 0x5a9c4c8d
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x4342ee
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffb
jl 0x4342de
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x434324
push eax
push eax
push eax
call dword [0xad9328]
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffff8
xor esi, esi
inc esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], 0x5fff
cmp dword [ebp - 0x38], 0x6212
jle 0x4343a3
mov edi, eax
jmp 0x434347
xor eax, eax
mov esi, eax
mov dword [ebp - 0x30], eax
mov ebx, esi
mov esi, 0x7fff
mov eax, ebx
or eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xc80]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xc80]
call fcn.00432191
dec ebx
dec esi
jne 0x434353
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x615c
jl 0x43434c
inc edi
cmp edi, 0x2427
jl 0x434345
xor esi, esi
inc esi
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 4], 2
cmp dword [ebp - 0x38], 0x5f24
jge 0x4343c5
push 0xab847c
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x4343f0
mov dword [ebp - 0x24], eax
jmp 0x43440f
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x43440c
push eax
push 0x1c4f
call dword [fcn.00ad9534]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
jne 0x4343f5
mov dword [ebp - 0x668], 0x7eede0b4
mov dword [ebp - 0x664], 0x7eede0b4
mov dword [ebp - 0x660], 0x7eede0b4
mov dword [ebp - 0x65c], 0x7eede0b4
mov dword [ebp - 0x4c], 0x831713b9
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffea
jge 0x43450d
mov dword [ebp - 0x28], 0xd4e7937
push esi
lea ecx, [ebp - 0x71c]
call fcn.00431db5
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x24], esi
jge 0x434486
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x71c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x434472
mov dword [ebp - 0x28], 0
jmp 0x4344ed
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x40], 0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setge dl
cmp dword [ebp - 0x4c], edx
jge 0x4344be
cmp dword [ebp - 0x1c], 0
je 0x4344b8
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x4344e5
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x4344e2
push 0x601
push eax
call dword [fcn.00ad9348]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x4344cb
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xe
jg 0x43448f
lea ecx, [ebp - 0x71c]
call fcn.00431e87
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffea
jl 0x434451
xor eax, eax
mov dword [ebp - 0x4c], 0x13
jmp 0x4345ad
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x54], 0x4fd3df75
mov dword [ebp - 0x54], 0xe
jmp 0x434582
mov dword [ebp - 0x24], 0xa35f394
mov dword [ebp - 0x24], eax
jmp 0x434566
mov dword [ebp - 0x30], 0x78144ad7
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x434560
push eax
push eax
push 0x20b1
push 0x1fc2
call dword [0xad953c]
xor eax, eax
dec dword [ebp - 0x30]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe8
jl 0x43453c
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x43457f
push eax
push eax
call dword [0xad9378]
xor eax, eax
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xfffffff0
je 0x434530
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x4345aa
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x668], 0x5a9c4c8d
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x434591
xor eax, eax
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xfffffffb
jl 0x434519
mov dword [ebp - 0x4c], 0x4a8c6a53
push 2
lea ecx, [ebp - 0x248]
call fcn.00431db5
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x4345f1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x248]
mov dword [eax + ecx*4], 0x2d34caa8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x4345d6
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x434608
push eax
push 0x1adc
call dword [fcn.00ad9128]
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x12
jge 0x4347a2
push 3
lea ecx, [ebp - 0x2c0]
call fcn.00431db5
mov dword [ebp - 0x30], 0x72a67f8b
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 2
jge 0x43464b
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x364], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x434638
mov dword [ebp - 0x14], 0
jmp 0x434667
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c0]
mov dword [eax + ecx*4], 0x439cb61d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x434654
mov eax, dword [ebp - 0x364]
cmp dword [ebp - 0x4c], 0
jne 0x43467f
mov eax, dword [ebp - 0x364]
mov ecx, dword [ebp - 0x4c]
inc ecx
mov eax, dword [ebp - 0x248]
mov dword [eax], ecx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x2c0]
cmp dword [eax], ecx
setl dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x4c], ecx
jne 0x4346bd
mov eax, dword [ebp - 0x248]
xor ebx, ebx
cmp dword [eax], ebx
jne 0x4346bd
xor ecx, ecx
jmp 0x4346bf
mov ecx, esi
mov eax, dword [ebp - 0x2c0]
mov dword [eax], ecx
mov dword [ebp - 0x38], 0x2ecc
cmp dword [ebp - 0x38], 0x305d
jle 0x43473c
xor edi, edi
mov dword [ebp - 0x30], edi
xor esi, esi
xor ebx, ebx
mov eax, edi
cdq
idiv esi
mov edi, edx
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0x1088]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1088]
call fcn.00432191
inc ebx
cmp ebx, 0x6c8b
jl 0x4346e7
inc esi
cmp esi, 0xef3
mov edi, dword [ebp - 0x30]
jl 0x4346de
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x5d7e
jl 0x4346dc
xor esi, esi
inc esi
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x43474d
push eax
call dword [fcn.00ad931c]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x38], 0x2dad
jge 0x434768
push 0xab8498
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x43478f
lea ecx, [ebp - 0x2c0]
call fcn.00431e87
inc dword [ebp - 0x4c]
jmp 0x43460b
lea ecx, [ebp - 0x248]
call fcn.00431e87
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x4347c0
push eax
push eax
push eax
call dword [0xad9328]
mov dword [ebp - 0x14], 0x213ec752
mov dword [ebp - 0x24], 0x6dad816f
mov dword [ebp - 0x54], 0xde1fc657
mov dword [ebp - 0x60], 0x8bd85027
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x30], 0x592e7baa
mov dword [ebp - 0x30], 0x6b87c265
mov dword [ebp - 0x48], 0xd90538e0
mov dword [ebp - 0x34], 0x72f33bc6
mov dword [ebp - 0x34], 0x2708cdb5
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x34], 0xe194
push 0xfffffffffffffff6
pop ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xd6ff
push 2
lea ecx, [ebp - 0x840]
call fcn.00431db5
mov dword [ebp - 0x34], 0x298b2365
mov dword [ebp - 0x34], 0x1179
mov dword [ebp - 0x38], 0xfffe
mov dword [ebp - 0x44], 0
jmp 0x43485d
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x11e8], 0x102d1f73
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
jl 0x43484c
mov dword [ebp - 0x44], 0
jmp 0x43487d
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xecc], 0x7b1ecbc5
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jl 0x43486c
mov dword [ebp - 0x44], 0
jmp 0x43489f
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x840]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x43488c
mov dword [ebp - 0x44], 0
jmp 0x4348bf
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xa58], 0x2d5f2aba
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x4348ae
cmp dword [ebp - 0x14], 0
je 0x4348ce
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp eax, esi
setge cl
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x54]
xor edx, edx
cmp ecx, 0xf11caf1e
setne dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
cmp eax, ecx
jl 0x434919
mov eax, esi
jmp 0x43491b
xor eax, eax
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, 0xcecb
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
cmp ebx, edx
sbb eax, eax
neg eax
sub eax, 0x1cc0c7fd
je 0x434955
cmp dword [ebp - 0x1c], 0
je 0x434955
mov edx, esi
jmp 0x434957
xor edx, edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, 0xfecafe8
setle dl
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x14]
jle 0x4349ac
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x4349ae
mov eax, esi
cmp eax, 0xffffffff
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x840]
call fcn.00431e87
mov dword [ebp - 0x2c], 0x7da9
cmp dword [ebp - 0x2c], 0x8098
jle 0x434a48
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [0xad92b4]
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x30], 0x5b4
xor esi, esi
xor edi, edi
mov eax, esi
mov ecx, edi
sar eax, cl
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xad66f8
call fcn.00431c71
inc edi
cmp edi, 0x61e8
jl 0x434a02
inc esi
cmp esi, 0x6574
jl 0x434a00
dec ebx
dec dword [ebp - 0x30]
jne 0x4349fe
mov ebx, dword [ebp - 0x38]
inc ebx
mov dword [ebp - 0x38], ebx
cmp ebx, 0x4b58
jl 0x4349f4
xor eax, eax
push eax
push eax
call dword [0xad9028]
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x39c1
cmp dword [ebp - 0x38], 0x3b11
jle 0x434abf
mov edi, eax
mov dword [ebp - 0x30], edi
jmp 0x434a66
xor eax, eax
mov esi, eax
mov eax, edi
cdq
idiv esi
mov ebx, edx
mov edi, 0x4a72
mov eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xcb0]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xcb0]
call fcn.00432191
inc ebx
dec edi
jne 0x434a74
inc esi
cmp esi, 0x7198
mov edi, dword [ebp - 0x30]
jl 0x434a68
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x5e94
jl 0x434a64
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x448]
call fcn.00431db5
mov dword [ebp - 4], 6
cmp dword [ebp - 0x38], 0x3810
jge 0x434ae9
push 0xab8530
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x434b14
push 0xfffffffffffffff6
pop ebx
mov dword [ebp - 0x48], 0xffff
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jge 0x434b40
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x448]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x434b26
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x434b76
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x448]
mov dword [eax], edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0xc370
setg cl
imul eax, ecx, 0x4c40
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x48], ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffe
jl 0x434b45
lea ecx, [ebp - 0x448]
call fcn.00431e87
mov dword [ebp - 4], 8
cmp dword [ebp - 0x2c], 0x7c51
jge 0x434ba6
mov edx, 0xab8504
mov ecx, 0xad66f8
call fcn.00433a27
or dword [ebp - 4], 0xffffffff
jmp 0x434bd0
mov dword [ebp - 0x14], 0x213ec752
mov dword [ebp - 0x24], 0x6dad816f
mov dword [ebp - 0x54], 0xde1fc657
mov dword [ebp - 0x60], 0x8bd85027
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x30], 0x592e7baa
mov dword [ebp - 0x30], 0x6b87c265
mov dword [ebp - 0x48], 0xd90538e0
mov dword [ebp - 0x34], 0x72f33bc6
mov dword [ebp - 0x34], 0x2708cdb5
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x34], 0xe194
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xd6ff
push 2
lea ecx, [ebp - 0x734]
call fcn.00431db5
mov dword [ebp - 0x34], 0x298b2365
mov dword [ebp - 0x34], 0x1179
mov dword [ebp - 0x38], 0xfffe
mov dword [ebp - 0x44], 0
jmp 0x434c6a
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x1238], 0x102d1f73
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
jl 0x434c59
mov dword [ebp - 0x44], 0
jmp 0x434c8a
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xbfc], 0x7b1ecbc5
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jl 0x434c79
mov dword [ebp - 0x44], 0
jmp 0x434cac
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x734]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x434c99
mov dword [ebp - 0x44], 0
jmp 0x434ccc
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xab8], 0x2d5f2aba
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x434cbb
cmp dword [ebp - 0x14], 0
je 0x434cdb
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp eax, edi
setge cl
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x54]
xor edx, edx
cmp ecx, 0xf11caf1e
setne dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
cmp eax, ecx
jl 0x434d26
mov eax, edi
jmp 0x434d28
xor eax, eax
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, 0xcecb
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
cmp ebx, edx
sbb eax, eax
neg eax
sub eax, 0x1cc0c7fd
je 0x434d62
cmp dword [ebp - 0x1c], 0
je 0x434d62
mov edx, edi
jmp 0x434d64
xor edx, edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, 0xfecafe8
setle dl
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x14]
jle 0x434db9
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x434dbb
mov eax, edi
cmp eax, 0xffffffff
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x734]
call fcn.00431e87
mov dword [ebp - 0x48], 0x94643cdf
mov dword [ebp - 0x20], 0xe87df2f4
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x14], 0xb51f0ef2
mov dword [ebp - 0x40], 0
push edi
lea ecx, [ebp - 0x308]
call fcn.00431db5
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x434e25
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xc8], edi
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x434e10
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], edi
jge 0x434e45
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xe8], 0xffffffff
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jl 0x434e2d
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], edi
jge 0x434e63
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jl 0x434e4d
xor eax, eax
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
jl 0x43502c
lea esi, [ebp - 0x704]
mov dword [ebp - 0x28], 0x3281
push 2
lea ecx, [ebp - 0x40c]
call fcn.00431db5
movdqa xmm0, xmmword [0xac47e0]
movdqu xmmword [ebp - 0x704], xmm0
push ecx
lea eax, [ebp - 0x6f4]
push eax
push esi
lea ecx, [ebp - 0x908]
call fcn.00431e61
push 2
lea ecx, [ebp - 0x514]
call fcn.00431db5
mov dword [ebp - 0x14], 0
jmp 0x434ed2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x434ec3
mov dword [ebp - 0x14], 0
jmp 0x434ef4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x514]
mov dword [eax + ecx*4], 0x7356536
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x434ee1
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0xc4], 0
je 0x434f32
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xc8]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0xc8]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edi
setl cl
sub ecx, edx
cmp ecx, dword [ebp - 0x20]
jne 0x434f32
mov eax, edi
jmp 0x434f34
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xc8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xc8]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xc8]
mov eax, dword [ebp - 0x40c]
sub ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x28], 0
je 0x434fd1
mov eax, dword [ebp - 0xe8]
imul eax, eax, 0x2a93
mov esi, dword [ebp - 0x514]
mov dword [esi + 4], eax
xor edx, edx
cmp eax, 0xba52
setg dl
sub edx, dword [ebp - 0x28]
add edx, 0xf2a6
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x308]
sub ecx, dword [eax]
je 0x434fd1
cmp dword [esi + 4], 0
je 0x434fd1
mov ecx, edi
jmp 0x434fd3
xor ecx, ecx
mov eax, dword [ebp - 0x908]
inc dword [eax + 8]
imul ecx, dword [eax + 8]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
mov eax, dword [ebp - 0x308]
cmp edx, dword [eax]
setne cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x514]
call fcn.00431e87
lea ecx, [ebp - 0x908]
call fcn.00431e87
lea ecx, [ebp - 0x40c]
call fcn.00431e87
dec dword [ebp - 0x20]
lea esi, [ebp - 0x704]
jns 0x434e75
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x4350bc
mov dword [ebp - 0x20], 0xfffffff3
jmp 0x4350a1
mov dword [ebp - 0x30], 0xf603f559
mov dword [ebp - 0x14], 0xfffffffc
jmp 0x435066
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x435063
push 0x1267
call dword [fcn.00ad94a4]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jl 0x43504d
mov dword [ebp - 0x4c], eax
jmp 0x435098
dec dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x435095
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x435090
push eax
push eax
push eax
call dword [fcn.00ad9080]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x43507c
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffe6
jge 0x435071
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffef
jge 0x43503d
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x4350b9
push eax
call dword [fcn.00ad9364]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x13
jg 0x435034
lea ecx, [ebp - 0x308]
call fcn.00431e87
mov dword [ebp - 0x24], 0x3fbb
mov dword [ebp - 0x24], 0
jmp 0x4350f2
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xa68], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x4350e1
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xa5c]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x24], edx
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jg 0x435208
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x4351e5
mov dword [ebp - 0x30], 0x5c6e
cmp dword [ebp - 0x30], 0x5fdf
jle 0x435196
mov esi, eax
mov edi, eax
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xf50]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xf50]
call fcn.00432191
inc edi
cmp edi, 0x5e39
jl 0x43513b
inc esi
cmp esi, 0x6a48
push 0
pop eax
jl 0x435139
push 0x24cf
push 0xf26
call dword [0xad9088]
xor edi, edi
inc edi
push 0x21bd
call dword [fcn.00ad9570]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x30], 0x5aec
jge 0x4351bc
push 0xab859c
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4351e3
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x435200
push 0x22a8
push 0x5cb
call dword [fcn.00ad95a0]
xor eax, eax
inc dword [ebp - 0x24]
jmp 0x435110
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], 0x267e6aa1
mov dword [ebp - 0x14], 0x13
cmp dword [ebp - 0x14], 3
jle 0x435564
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jle 0x43555c
mov dword [ebp - 0x6a8], 0x3d42374b
mov dword [ebp - 0x6a4], 0x3d42374b
mov dword [ebp - 0x6a0], 0x3d42374b
mov dword [ebp - 0x69c], 0x3d42374b
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jg 0x4353be
mov dword [ebp - 0x38], 0x138d
cmp dword [ebp - 0x38], 0x146b
jle 0x4352c9
xor esi, esi
xor edi, edi
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xce0]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xce0]
call fcn.00432191
inc edi
cmp edi, 0x1c02
jl 0x435284
inc esi
cmp esi, 0x7698
jl 0x435282
mov dword [ebp - 0x30], 0x3a77
cmp dword [ebp - 0x30], 0x3ca8
jle 0x435323
xor esi, esi
xor edi, edi
mov eax, esi
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x1130]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1130]
call fcn.00432191
inc edi
cmp edi, 0x1905
jl 0x4352dd
inc esi
cmp esi, 0x2b0
jl 0x4352db
mov byte [ebp - 0x39], 0
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x30], 0x3939
jge 0x435342
push 0xab861c
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x39], 0
je 0x43535c
push 0xbd4
push 0xf1f
call dword [0xad9120]
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x38], 0x10d0
jge 0x435377
push 0xab85f4
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor edi, edi
inc edi
inc dword [ebp - 0x28]
xor eax, eax
jmp 0x435230
mov dword [ebp - 0x24], edi
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], eax
jl 0x435498
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x6a8], 0xfffffffb
mov dword [ebp - 0x30], 0xfffffffb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 0x41eb
cmp dword [ebp - 0x30], 0x432d
jle 0x43542d
xor edi, edi
xor esi, esi
mov eax, edi
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad66f8
call fcn.00431c71
inc esi
cmp esi, 0x70da
jl 0x435405
inc edi
cmp edi, 0x1a78
jl 0x435403
xor edi, edi
inc edi
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x435448
push eax
push 0xd7d
push 0x1124
call dword [0xad957c]
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x30], 0x4179
jge 0x435467
mov edx, 0xab8648
mov ecx, 0xad66f8
call fcn.00433a27
or dword [ebp - 4], 0xffffffff
jmp 0x43548e
dec dword [ebp - 0x24]
xor eax, eax
jmp 0x4353cd
mov dword [ebp - 0x38], 0x330c
cmp dword [ebp - 0x38], 0x366e
jle 0x435506
mov ecx, eax
mov dword [ebp - 0x2c], eax
mov ebx, eax
mov dword [ebp - 0x30], eax
mov edi, eax
mov eax, ecx
cdq
idiv ebx
mov ebx, edx
xor esi, esi
mov eax, esi
and eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xad66f8
call fcn.00431c71
inc esi
cmp esi, 0x19a4
jl 0x4354bd
inc edi
cmp edi, 0x74ad
jl 0x4354bb
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x2224
push 0
pop eax
mov ecx, dword [ebp - 0x2c]
jl 0x4354b2
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x3140
jl 0x4354ad
xor edi, edi
inc edi
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x43551a
push 0x3e6
call dword [0xad9480]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x38], 0x31e2
jge 0x435539
mov edx, 0xab86b0
mov ecx, 0xad66f8
call fcn.00433a27
or dword [ebp - 4], 0xffffffff
jmp 0x43537e
dec dword [ebp - 0x14]
jmp 0x435220
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x19
jge 0x435639
mov dword [ebp - 0x4c], 0x1d
cmp dword [ebp - 0x4c], 0x1b
jl 0x435631
mov dword [ebp - 0x38], 0x226b
cmp dword [ebp - 0x38], 0x25ab
jle 0x4355dc
mov ebx, eax
mov dword [ebp - 0x30], eax
mov esi, eax
mov edi, eax
mov dword [ebp - 0x48], ebx
mov ecx, esi
shl ebx, cl
mov eax, ebx
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xad66f8
call fcn.00431c71
inc edi
cmp edi, 0x4d4
jl 0x4355a2
inc esi
cmp esi, 0x31ef
push 0
pop eax
mov ebx, dword [ebp - 0x30]
jl 0x435599
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x148d
jl 0x435597
xor edi, edi
inc edi
cmp dword [ebp - 0x4c], eax
jne 0x435631
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x38], 0x1f60
jge 0x435600
mov edx, 0xab870c
mov ecx, 0xad66f8
call fcn.00433a27
or dword [ebp - 4], 0xffffffff
jmp 0x435627
dec dword [ebp - 0x4c]
xor eax, eax
jmp 0x435578
inc dword [ebp - 0x14]
jmp 0x435567
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x24], eax
jmp 0x435662
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x43565f
push eax
push 0x1c4f
call dword [fcn.00ad9534]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
jne 0x435648
mov dword [ebp - 0x648], 0x7eede0b4
mov dword [ebp - 0x644], 0x7eede0b4
mov dword [ebp - 0x640], 0x7eede0b4
mov dword [ebp - 0x63c], 0x7eede0b4
mov dword [ebp - 0x4c], 0x831713b9
mov dword [ebp - 0x4c], eax
jmp 0x43574f
mov dword [ebp - 0x28], 0xd4e7937
push edi
lea ecx, [ebp - 0x748]
call fcn.00431db5
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x24], edi
jge 0x4356d4
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x748]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x4356c0
mov dword [ebp - 0x28], 0
jmp 0x43573b
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x40], 0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setge dl
cmp dword [ebp - 0x4c], edx
jge 0x43570c
cmp dword [ebp - 0x1c], 0
je 0x435706
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x435733
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x435730
push 0x601
push eax
call dword [fcn.00ad9348]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x435719
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xe
jg 0x4356dd
lea ecx, [ebp - 0x748]
call fcn.00431e87
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffea
jl 0x43569f
mov dword [ebp - 0x4c], 0x4a8c6a53
push 2
lea ecx, [ebp - 0x200]
call fcn.00431db5
mov dword [ebp - 0x24], 0
jmp 0x435789
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x200]
mov dword [eax + ecx*4], 0x2d34caa8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x435776
mov dword [ebp - 0x30], 0x27b6
cmp dword [ebp - 0x30], 0x2812
jle 0x4357e7
xor esi, esi
mov edi, esi
mov ebx, 0x6d5b
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xd10]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xd10]
call fcn.00432191
dec edi
dec ebx
jne 0x4357a8
inc esi
cmp esi, 0x7e6c
jl 0x4357a1
xor edi, edi
inc edi
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x4357fd
push eax
push 0x1adc
call dword [fcn.00ad9128]
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x30], 0x26e8
jge 0x435818
push 0xab8750
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x435843
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x12
jge 0x4359dc
push 3
lea ecx, [ebp - 0x260]
call fcn.00431db5
mov dword [ebp - 0x30], 0x72a67f8b
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 2
jge 0x435886
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x37c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x435873
mov dword [ebp - 0x14], 0
jmp 0x4358a2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x260]
mov dword [eax + ecx*4], 0x439cb61d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x43588f
mov eax, dword [ebp - 0x37c]
cmp dword [ebp - 0x4c], 0
jne 0x4358ba
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x4c]
inc ecx
mov eax, dword [ebp - 0x200]
mov dword [eax], ecx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x260]
cmp dword [eax], ecx
setl dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x4c], ecx
jne 0x4358f8
mov eax, dword [ebp - 0x200]
xor ebx, ebx
cmp dword [eax], ebx
jne 0x4358f8
mov ecx, edi
mov eax, dword [ebp - 0x260]
mov dword [eax], ecx
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x4359c9
lea ecx, [ebp - 0x200]
call fcn.00431e87
mov dword [ebp - 0x1c], 0x13
cmp dword [ebp - 0x1c], 0xfffffffb
jge 0x435e6d
mov dword [ebp - 0x20], 0x4a8c6a53
mov dword [ebp - 0x38], 0x54b
cmp dword [ebp - 0x38], 0x6a7
jle 0x435a67
xor edi, edi
mov ebx, edi
mov dword [ebp - 0x30], 0x7574
xor esi, esi
lea eax, [ebx + esi]
cdq
push edx
push eax
lea ecx, [ebp - 0xf80]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xf80]
call fcn.00432191
inc esi
cmp esi, 0x7641
jl 0x435a1c
dec ebx
dec dword [ebp - 0x30]
jne 0x435a1a
inc edi
cmp edi, 0xbe9
jl 0x435a11
xor edi, edi
inc edi
push 2
lea ecx, [ebp - 0x278]
call fcn.00431db5
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x38], 0x314
jge 0x435a8f
push 0xab87f8
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x435aba
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x435ade
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x278]
mov dword [eax + ecx*4], 0x2d34caa8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x435ac3
xor eax, eax
mov dword [ebp - 0x30], 0x24a8
cmp dword [ebp - 0x30], 0x27d7
jle 0x435b3c
mov esi, eax
jmp 0x435af4
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x435b52
mov dword [ebp - 0x38], 0x2337
mov dword [ebp - 0x58], 0xab88dc
cmp dword [ebp - 0x38], 0x237f
jle 0x435f0b
xor eax, eax
mov dword [ebp - 0x2c], eax
xor ebx, ebx
mov dword [ebp - 0x30], ebx
xor esi, esi
mov ecx, ebx
shl eax, cl
mov dword [ebp - 0x48], eax
xor edi, edi
mov ebx, eax
mov ecx, esi
shl ebx, cl
mov eax, ebx
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xd70]
call fcn.00401abe
pop ecx
pop ecx
mov ecx, eax
call fcn.00431c66
push eax
call fcn.004a3977
pop ecx
push 0
push 1
lea ecx, [ebp - 0xd70]
call fcn.00432191
inc edi
cmp edi, 0x27b4
jl 0x435ea3
inc esi
cmp esi, 0xad9
mov eax, dword [ebp - 0x48]
jl 0x435e9b
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x7eb8
mov eax, dword [ebp - 0x2c]
jl 0x435e92
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x32af
jl 0x435e8d
xor edi, edi
inc edi
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0x267e6aa1
mov dword [ebp - 0x14], 0x13
cmp dword [ebp - 0x14], 3
jle 0x436091
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jle 0x436089
mov dword [ebp - 0x658], 0x3d42374b
mov dword [ebp - 0x654], 0x3d42374b
mov dword [ebp - 0x650], 0x3d42374b
mov dword [ebp - 0x64c], 0x3d42374b
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x4c]
jg 0x435f8d
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x43607f
push 0xbd4
push 0xf1f
call dword [0xad9120]
jmp 0x43607f
mov dword [ebp - 0x24], edi
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], eax
jl 0x43606b
mov dword [ebp - 0x30], 0x3878
cmp dword [ebp - 0x30], 0x3a3a
jle 0x435fe5
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x43607f
inc dword [ebp - 0x4c]
xor eax, eax
jmp 0x435f2e
dec dword [ebp - 0x14]
jmp 0x435f1e
mov dword [ebp - 0x14], eax
jmp 0x4360b0
mov dword [ebp - 0x28], 0x1d
jmp 0x4360a7
cmp dword [ebp - 0x28], 0x1b
jge 0x43609f
cmp dword [ebp - 0x14], 0x19
jl 0x436096
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x38], 0x2114
jge 0x4360cf
push dword [ebp - 0x58]
call fcn.004a3977
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x4360fa