Function at 0x48fe12
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4b1aad
call fcn.004b0950
sub esp, 0x2bc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x18], 0x1852
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
xor esi, esi
inc esi
jmp 0x48fe56
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], 0x21ded680
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x48fe45
inc dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
push 6
pop edi
cmp dword [ebp - 0x18], 0x16
jle 0x49002a
mov dword [ebp - 0x30], 0xf54
cmp dword [ebp - 0x30], 0x1232
jle 0x48ff20
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x14], ecx
cdq
idiv edi
mov dword [ebp - 0x3c], edx
mov edi, ebx
mov eax, ecx
cdq
idiv edi
xor edx, dword [ebp - 0x3c]
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x270]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x48febb
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x270]
call fcn.0040b2b0
inc edi
cmp edi, 0x190c
mov ecx, dword [ebp - 0x14]
jl 0x48fe99
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x4f85
jl 0x48fe97
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x1698
mov eax, dword [ebp - 0x2c]
jl 0x48fe8c
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x46d5
jl 0x48fe87
push ebx
push ebx
push ebx
push 0x98f
push 0xb6b
push ebx
push 0x152f
call dword [0xabd118]
push 6
pop edi
mov dword [ebp - 0x1c], ebx
jmp 0x48ff33
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], 0x1265ab3e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x48ff25
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x30], 0xca2
jge 0x48ff4f
push 0xaa7f48
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x48ff7b
mov dword [ebp - 0x1c], ebx
jmp 0x48ff91
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2c8], 0x90611bc3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x48ff80
mov dword [ebp - 0x60], edi
jmp 0x490018
push 2
lea ecx, [ebp - 0x118]
call fcn.0040ac30
mov dword [ebp - 0x1c], ebx
jmp 0x48ffbd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x48ffae
mov eax, dword [ebp - 0x118]
mov dword [eax], ebx
mov dword [ebp - 0x2c], 0x8d3a18e4
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jl 0x48fffd
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x48fff8
mov dword [ebp - 0x24], 0xfffffff8
inc dword [ebp - 0x24]
dec dword [ebp - 0x14]
jns 0x48ffe9
dec dword [ebp - 0x2c]
jns 0x48ffda
mov eax, dword [ebp - 0x118]
inc dword [eax]
cmp dword [eax], 0
jle 0x48ffcb
lea ecx, [ebp - 0x118]
call fcn.0040ad02
dec dword [ebp - 0x60]
cmp dword [ebp - 0x60], 0xfffffffa
jge 0x48ff9c
inc dword [ebp - 0x18]
jmp 0x48fe64
mov eax, 0x36f6dd8d
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x30], 0x43c4
cmp dword [ebp - 0x30], 0x43f2
jle 0x4900b2
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x14]
lea eax, [edi + esi]
shl eax, cl
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x303c
jl 0x490066
inc edi
cmp edi, 0x803a
push 0
pop ebx
jl 0x49005e
inc esi
cmp esi, 0x19dc
jl 0x49005c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x7279
jl 0x49005a
xor esi, esi
inc esi
push 6
pop edi
mov dword [ebp - 4], 2
cmp dword [ebp - 0x30], 0x4340
jge 0x4900d1
mov edx, 0xaa7f94
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4900fd
push 2
lea ecx, [ebp - 0x10c]
call fcn.0040ac30
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], ebx
jmp 0x490121
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x490112
mov eax, dword [ebp - 0x10c]
mov dword [eax], 0xffffffef
push esi
lea ecx, [ebp - 0xf4]
call fcn.0040ac30
mov dword [ebp - 0x18], ebx
jmp 0x490157
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xc70c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x490144
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
cmp dword [eax], ebx
jne 0x490180
call fcn.0040ad02
mov eax, dword [ebp - 0x10c]
inc dword [eax]
cmp dword [eax], 0x19
jl 0x490133
jmp 0x490185
call fcn.0040ad02
inc dword [ebp - 0x24]
lea ecx, [ebp - 0x10c]
call fcn.0040ad02
mov dword [ebp - 0x44], 0xb1ab4456
mov dword [ebp - 0x50], 0xfffffff6
push esi
lea ecx, [ebp - 0xd4]
call fcn.0040ac30
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x44], 0x63718bd8
mov dword [ebp - 0x18], 0x9e3d3b0c
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x24], 0x68dacb31
mov dword [ebp - 0x30], 0x3b10
mov dword [ebp - 0x3c], 0xa01d
mov dword [ebp - 0x1c], ebx
jmp 0x4901f5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0x1928c176
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x4901e2
mov dword [ebp - 0x1c], ebx
jmp 0x490210
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4901ff
mov dword [ebp - 0x1c], ebx
jmp 0x49022c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x194], 0xdec995f7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x49021b
mov dword [ebp - 0x1c], ebx
jmp 0x4902ab
mov dword [ebp - 0x2c], ebx
jmp 0x49024d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1c0], 0xf7921e12
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x49023c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
cmp dword [eax + ecx*4], ebx
je 0x490293
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
cmp dword [eax + ecx*4], ebx
jne 0x49027f
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x14]
mov edx, ebx
jle 0x490281
mov edx, esi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + ecx*4]
sub eax, edx
mov ecx, esi
jne 0x490295
mov ecx, ebx
mov eax, 0xffff
sub eax, ecx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1bc], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x490237
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
add ecx, eax
xor edx, edx
cmp ecx, 0x54120977
setge dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
je 0x490315
mov dword [ebp - 0x18], 0xffffffe3
jmp 0x49030d
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x49030a
push ebx
push ebx
call dword [0xabd384]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
jg 0x4902f9
jmp 0x490376
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
sub edx, 0xf573
mov eax, dword [ebp - 0x18c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x490376
push 0x16
push 0x1b9c
push 0x22bd
push 0xc36
push ebx
call dword [0xabd544]
lea ecx, [ebp - 0xd4]
call fcn.0040ad02
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x58], 0xfffffffe
mov dword [ebp - 0x1c], 0x7e2799ac
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x490432
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], 5
cmp dword [ebp - 0x1c], ebx
je 0x4903ba
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0x72dd
setge cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x1c]
test edx, edx
jne 0x490404
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x49042f
push ebx
call dword [0xabd368]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jge 0x4903a8
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x24], 0x2059
cmp dword [ebp - 0x24], 0x23e9
jle 0x490492
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x3c], ebx
lea eax, [edi + esi]
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
inc ebx
cmp ebx, 0x7635
jl 0x49045a
inc edi
cmp edi, 0xcd4
push 0
pop ebx
jl 0x490457
inc esi
cmp esi, 0xbf1
jl 0x490455
xor esi, esi
inc esi
push 6
pop edi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x1d73
jge 0x4904b1
mov edx, 0xaa7fb8
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4904dd
mov dword [ebp - 0x24], esi
push 4
lea ecx, [ebp - 0x140]
call fcn.0040ac30
mov dword [ebp - 0x14], 0x1d91
mov dword [ebp - 0x30], 0xa4df6f97
mov dword [ebp - 0x2c], 0xfffffff7
push esi
lea ecx, [ebp - 0x158]
call fcn.0040ac30
mov dword [ebp - 0x18], ebx
jmp 0x490526
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0x25cbd945
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x490513
mov dword [ebp - 0x18], ebx
jmp 0x490540
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x490531
cmp dword [ebp - 0x14], ebx
je 0x490589
cmp dword [ebp - 0x24], ebx
je 0x490589
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, 0xee3f2f34
setne dl
add edx, 0x161a56c7
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, ecx, 0xffff
mov eax, dword [ebp - 0x140]
cmp ecx, dword [eax + 4]
jge 0x490583
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x158]
mov dword [eax], ecx
lea ecx, [ebp - 0x158]
call fcn.0040ad02
lea ecx, [ebp - 0x140]
call fcn.0040ad02
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x2c], 0x80c1
mov dword [ebp - 0x24], 0x1afa9b64
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x14], ebx
jmp 0x4905eb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x17c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4905da
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
cmp edi, eax
sbb eax, eax
neg eax
cmp eax, 0xfffffffd
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x178], 0xb3e713e1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x49063f
push 0xaee
push 0x18b8
call dword [0xabd074]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x24], 0x1f1e
cmp dword [ebp - 0x24], 0x21c4
jle 0x490693
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
lea eax, [edi + esi]
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
inc ebx
cmp ebx, 0x3358
jl 0x49065d
inc edi
cmp edi, 0x7778
push 0
pop ebx
jl 0x49065a
inc esi
cmp esi, 0x23f0
jl 0x490658
xor esi, esi
inc esi
push 6
pop edi
push 3
lea ecx, [ebp - 0x1a0]
call fcn.0040ac30
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x1ca4
jge 0x4906bb
mov edx, 0xaa8010
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4906e4
mov dword [ebp - 0x34], 0xfd52a42b
mov dword [ebp - 0x28], 0x47ef
mov dword [ebp - 0x34], 0xaa8048
cmp dword [ebp - 0x28], 0x4bd5
jle 0x490752
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0x4ca6
cdq
push edx
push eax
lea ecx, [ebp - 0x240]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x490728
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x240]
call fcn.0040b2b0
mov eax, dword [ebp - 0x24]
add eax, edi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x30]
jne 0x490710
inc edi
cmp edi, 0x801e
jl 0x490704
push 2
lea ecx, [ebp - 0x134]
call fcn.0040ac30
mov dword [ebp - 0x18], 0x4d87
cmp dword [ebp - 0x18], 0x4f07
jle 0x4907d6
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov eax, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0x1c7f
mov edi, ebx
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49079e
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2a0]
call fcn.0040b2b0
inc edi
cmp edi, 0x4c6e
mov eax, dword [ebp - 0x24]
jl 0x490782
dec eax
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x30]
jne 0x490780
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x5ec7
jl 0x490774
mov dword [ebp - 0x2c], 0x8c45cdbe
mov dword [ebp - 4], 8
cmp dword [ebp - 0x18], 0x4d47
jge 0x4907f8
push 0xaa805c
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490821
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x68], 0x3cfce294
mov dword [ebp - 0x70], 0xfffc
mov dword [ebp - 0x54], 0xffff
mov dword [ebp - 0x14], ebx
jmp 0x490850
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x490841
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], esi
jg 0x490ad6
mov dword [ebp - 0x18], 0x816210b9
push 2
lea ecx, [ebp - 0x100]
call fcn.0040ac30
mov dword [ebp - 0x30], 0x5ea2
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x14], ebx
jmp 0x490898
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xead9bacc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x490885
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x490996
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x64], 0x8fdeb772
mov dword [ebp - 0x14], ebx
jmp 0x4908d6
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4908d3
push ebx
push ebx
push 0x268
call dword [0xabd540]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x4908bd
mov dword [ebp - 0x4c], 0x1067
cmp dword [ebp - 0x4c], 0x1170
jle 0x490943
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x3769
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
mov eax, dword [ebp - 0x14]
add eax, edi
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x1c]
jne 0x490901
inc edi
cmp edi, 0x2023
jl 0x4908f5
inc esi
cmp esi, 0x63d9
push 0
pop ebx
jl 0x4908f0
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x3ec5
jl 0x4908ee
xor esi, esi
inc esi
inc dword [ebp - 0x68]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x4c], 0xc9d
jge 0x490965
mov edx, 0xaa809c
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x49098e
inc dword [ebp - 0x18]
jmp 0x4908a1
mov dword [ebp - 0x38], 0x2637
cmp dword [ebp - 0x38], 0x27e8
jle 0x490a2a
mov dword [ebp - 0x48], ebx
mov ecx, ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], 0x540d
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x4c], 0x3151
mov eax, ecx
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x210]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4909e6
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x210]
call fcn.0040b2b0
dec edi
dec dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
jne 0x4909c8
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x6656
jl 0x4909be
mov eax, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x14], ecx
dec dword [ebp - 0x1c]
jne 0x4909b9
inc eax
mov dword [ebp - 0x48], eax
cmp eax, 0x1894
jl 0x4909ad
mov edx, 0xbc24
mov eax, dword [ebp - 0x134]
sub edx, dword [eax + 4]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x70]
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x100]
cmp dword [eax], ecx
jl 0x490a59
cmp dword [ebp - 0x30], ebx
je 0x490a60
cmp dword [ebp - 0x30], ebx
mov eax, esi
jne 0x490a62
mov eax, ebx
mov ecx, dword [ebp - 0x5c]
add ecx, eax
mov eax, dword [ebp - 0x100]
add ecx, dword [eax]
sub ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x38], 0x2616
jge 0x490a9a
push 0xaa80e8
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490ac3
lea ecx, [ebp - 0x100]
call fcn.0040ad02
inc dword [ebp - 0x2c]
jmp 0x490859
mov dword [ebp - 0x14], ebx
jmp 0x490ae4
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jne 0x490adb
lea ecx, [ebp - 0x134]
call fcn.0040ad02
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x28], 0x463e
jge 0x490b0e
push dword [ebp - 0x34]
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490b37
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x28], 0x8591b68d
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
sub edx, 6
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setle dl
xor eax, eax
cmp edx, 0x58efa97f
setne al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setg cl
cmp ecx, dword [ebp - 0x18]
jge 0x490bb3
mov dword [ebp - 0x28], 0x9ff4caa5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x490c82
mov dword [ebp - 0x48], 0x58b8
cmp dword [ebp - 0x48], 0x5b4b
jle 0x490c28
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], 0x66a2
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x228]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x490bf0
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x228]
call fcn.0040b2b0
mov ecx, dword [ebp - 0x28]
add ecx, edi
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
jne 0x490bd6
inc edi
cmp edi, 0x6f7f
jl 0x490bca
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0xf6
jl 0x490bc8
mov byte [ebp - 0x1d], bl
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x48], 0x5671
jge 0x490c46
push 0xaa8144
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490c6f
cmp byte [ebp - 0x1d], 0
je 0x490c82
push ebx
push 0x4bd
push ebx
call dword [0xabd060]
mov dword [ebp - 0x34], 0xc458a922
mov dword [ebp - 0x14], ebx
jmp 0x490c9b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x490c8e
mov dword [ebp - 0xa0], ebx
cmp dword [ebp - 0xa0], 0x11
jge 0x490d91
mov byte [ebp - 0x1d], bl
mov dword [ebp - 0x28], 0x5766
cmp dword [ebp - 0x28], 0x5adc
jle 0x490d1e
push ebx
push ebx
call dword [0xabd0f8]
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov eax, edi
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x258]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x490cf2
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x258]
call fcn.0040b2b0
inc edi
cmp edi, 0x458d
mov ecx, dword [ebp - 0x24]
jl 0x490cd6
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x657b
jl 0x490cd4
cmp byte [ebp - 0x1d], 0
je 0x490d42
push 0x499
push ebx
push ebx
push ebx
push ebx
push 0x20dd
push 0x3a7
push 0x49a
call dword [0xabd54c]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x28], 0x5641
jge 0x490d5d
push 0xaa8160
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490d86
inc dword [ebp - 0xa0]
jmp 0x490ca7
mov dword [ebp - 0x68], 0x8069d1fe
mov eax, 0xf7e2799a
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x38], 0x417d
cmp dword [ebp - 0x38], 0x43c7
jle 0x490e4e
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x54], eax
mov edi, ebx
mov ecx, edi
shl eax, cl
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x288]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x490e02
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040b2b0
inc edi
cmp edi, 0x22b9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
jl 0x490de4
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x924
mov eax, dword [ebp - 0x24]
jl 0x490dd8
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x418f
jl 0x490dd3
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x5ef
jl 0x490dce
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x38], 0x3f28
jge 0x490e6c
push 0xaa81a8
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x490e95
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x34], 0xae0fc36f
mov dword [ebp - 0x64], 0xfffffffe
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], 0xcefbde28
mov dword [ebp - 0x34], 0xe74a6e8f
mov dword [ebp - 0x54], 0xfffffff8
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x490ee2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x490ed5
mov dword [ebp - 0xbc], ebx
cmp dword [ebp - 0xbc], 0xffffffec
jl 0x49115b
mov dword [ebp - 0x48], 0x89a6
mov dword [ebp - 0x24], 0x6f8b8ae5
movdqa xmm0, xmmword [0xaa8e20]
movdqu xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
push dword [ebp - 0x88]
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x1d0]
push eax
push ebx
lea ecx, [ebp - 0xb4]
call fcn.0040dbc3
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x18], 3
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x2c]
dec dword [ebp - 0x18]
test eax, eax
jne 0x490f77
cmp dword [ebp - 0x18], ebx
mov edi, ebx
je 0x490f79
mov edi, esi
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x4c], esi
jne 0x490f94
cmp dword [ebp - 0x38], ebx
mov ecx, ebx
je 0x490f96
mov ecx, esi
mov eax, dword [ebp - 0x5c]
imul eax, ecx
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp eax, edi
setge dl
mov ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp edx, ecx
setne al
cmp eax, 0x76c132d4
jge 0x490fdb
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x490ffb
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0xc], 0x29bb2d3
jmp 0x491145
mov dword [ebp - 0x30], 0xfa0179e4
mov dword [ebp - 0x48], 0x4b35
cmp dword [ebp - 0x48], 0x4c51
jle 0x4910a0
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x5c], ebx
lea edx, [eax + ecx]
mov ecx, edi
sar edx, cl
mov dword [ebp - 0x70], edx
mov edi, ebx
mov eax, edi
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x491050
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2b8]
call fcn.0040b2b0
inc edi
cmp edi, 0x3557
mov edx, dword [ebp - 0x70]
jl 0x491034
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0xc9a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
jl 0x491025
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0xf20
jl 0x491020
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x238f
jl 0x49101b
mov dword [ebp - 0x14], ebx
jmp 0x4910af
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4910a5
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x48], 0x49d2
jge 0x4910cf
push 0xaa81f8
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4910f8
mov dword [ebp - 0x1c], ebx
jmp 0x49111f
mov dword [ebp - 0x18], ebx
jmp 0x491116
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x491113
push ebx
push ebx
call dword [0xabd36c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x491102
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x4910fd
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x1c], ebx
jne 0x49113f
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0xb4]
call fcn.0040ad02
dec dword [ebp - 0xbc]
jmp 0x490eee
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0x3c1de6fc
mov dword [ebp - 0x14], ebx
jmp 0x491189
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x49117f
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x4911a0
cmp dword [ebp - 0x6c], ebx
jne 0x4911a0
dec dword [ebp - 0x18]
jns 0x491196
mov dword [ebp - 0x18], ebx
jmp 0x4911dd
mov dword [ebp - 0x38], 0xffff
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x34], 0xdbd0176d
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffed
jl 0x4911a5
mov dword [ebp - 0x40], ebx
jmp 0x4911f9
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0xa8], 0xfffa
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 2
jl 0x4911e8
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x40]
call fcn.0048f91d
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x28], 0x8591b68d
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
sub ecx, 6
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
cmp ecx, 0x58efa97f
setne dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x18]
jge 0x49127f
mov dword [ebp - 0x28], 0x9ff4caa5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x491295
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x491295
push ebx
push 0x4bd
push ebx
call dword [0xabd060]
mov dword [ebp - 0x18], 0x9b55bb2c
mov dword [ebp - 0x34], 0x1a7ecc24
mov dword [ebp - 0x28], 0x6ddc
cmp dword [ebp - 0x28], 0x6e75
jle 0x4912ee
push 0x1745
push ebx
push 0xf33
call dword [0xabd470]
mov edi, ebx
mov esi, ebx
mov eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
inc esi
cmp esi, 0x38bd
jl 0x4912c8
inc edi
cmp edi, 0x5bb
jl 0x4912c6
xor esi, esi
inc esi
mov dword [ebp - 0x34], 7
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x28], 0x6dc3
jge 0x491314
mov edx, 0xaa8268
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x49133d
mov dword [ebp - 0x34], 0x2d0da0bd
mov dword [ebp - 0x34], 0xffffffff
push 2
lea ecx, [ebp - 0x188]
call fcn.0040ac30
mov dword [ebp - 0x14], ebx
jmp 0x491370
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0x64c7b7f6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x49135d
mov dword [ebp - 0x18], 7
jmp 0x491494
push 3
lea ecx, [ebp - 0x164]
call fcn.0040ac30
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x34], 0xffffffff
movdqa xmm0, xmmword [0xaa8e00]
movdqu xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
push dword [ebp - 0x88]
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
lea ecx, [ebp - 0xe0]
call fcn.0040dbc3
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x24], 0xa70a1ee3
mov dword [ebp - 0x14], ebx
jmp 0x491401
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0x9351f200
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4913ee
mov edi, dword [ebp - 0x164]
mov dword [edi + 8], ebx
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x34], ebx
push 4
lea ecx, [ebp - 0x14c]
call fcn.0040ac30
mov dword [ebp - 0x14], ebx
jmp 0x49143e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14c]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x49142b
dec dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov dword [esi + 8], edx
mov eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x14c]
call fcn.0040ad02
dec dword [edi + 8]
cmp dword [edi + 8], 0xfffffffe
jge 0x491416
lea ecx, [ebp - 0xe0]
call fcn.0040ad02
lea ecx, [ebp - 0x164]
call fcn.0040ad02
dec dword [ebp - 0x18]
push 1
pop esi
cmp dword [ebp - 0x18], 0xffffffed
jle 0x491382
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4914ae
push ebx
call dword [0xabd380]
lea ecx, [ebp - 0x188]
call fcn.0040ad02
mov dword [ebp - 0x40], ebx
jmp 0x4914cf
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x8c], 0xfffe
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], esi
jl 0x4914be
mov eax, dword [ebp - 0xa4]
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x34], 0xfffffff6
cmp dword [ebp - 0x68], ebx
jne 0x491514
cmp dword [ebp - 0x50], ebx
mov eax, ebx
je 0x491516
mov eax, esi
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x168], ecx
cmp eax, 7
sbb eax, eax
inc eax
sub ecx, eax
mov eax, dword [ebp - 0xa4]
add ecx, eax
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x3c], edx
lea ecx, [ebp - 0x1a0]
call fcn.0040ad02
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x3c], 0xd6f
cmp dword [ebp - 0x3c], 0x105e
jle 0x4915eb
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xabd018]
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
cdq
idiv dword [ebp - 0x24]
and edx, ecx
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x1f8]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4915b1
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1f8]
call fcn.0040b2b0
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x22cf
mov ecx, dword [ebp - 0x14]
jl 0x49158f
inc edi
cmp edi, 0xdfc
jl 0x49158c
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x25b4
jl 0x49158a
mov dword [ebp - 0x50], 0xe1cf2bba
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x3c], 0x99c
jge 0x49160d
push 0xaa82ac
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x491636
mov dword [ebp - 0x14], ebx
jmp 0x49164c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], 0x841b3c69
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x49163b
mov dword [ebp - 0x7c], 3
cmp dword [ebp - 0x7c], ebx
jl 0x4916b1
push 2
lea ecx, [ebp - 0x98]
call fcn.0040ac30
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x58], 0x6f9f1111
mov dword [ebp - 0x14], ebx
jmp 0x491694
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0x34c865b4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x491681
mov eax, dword [ebp - 0x7c]
cmp dword [ebp + eax*4 - 0x128], ebx
je 0x4916e3
lea ecx, [ebp - 0x98]
call fcn.0040ad02
mov eax, dword [ebp - 0xc8]
cdq
mov ecx, 0x3e8
idiv ecx
mov esi, edx
mov edi, eax
mov ecx, dword [ebp - 0xe8]
call fcn.0048f8a7
add eax, esi
add eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp + eax*4 - 0x128]
cmp dword [ebp - 0x7c], eax
jl 0x4917ed