Function at 0x4750c9
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4c5c29
call fcn.004c4f40
sub esp, 0xf64
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x70], dl
mov dword [ebp - 0x128], ecx
movdqa xmm0, xmmword [0xac9a20]
movdqu xmmword [ebp - 0x8f0], xmm0
lea ecx, [ebp - 0x8f0]
lea eax, [ebp - 0x8e0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xa50]
call fcn.00434a3f
mov dword [ebp - 0x34], 0x8a1f
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x644]
call fcn.00434993
push 3
lea ecx, [ebp - 0x35c]
call fcn.00434993
mov dword [ebp - 0x18], 0x57e3b6f9
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x2f5a260d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x47516a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x644]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x475150
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x475182
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x35c]
mov dword [eax + ecx*4], 0x7d50f82b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x47516f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x644]
mov dword [eax], esi
xor ecx, ecx
mov edx, dword [ebp - 0x35c]
cmp dword [edx], ebx
setne cl
neg ecx
xor eax, eax
cmp ecx, 0x5154
setl al
mov dword [ebp - 0x18], eax
mov ecx, 0x917ab6da
sub ecx, dword [edx]
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp esi, eax
setne cl
mov eax, dword [ebp - 0x35c]
imul ecx, dword [eax]
mov eax, dword [ebp - 0x34]
sub eax, ecx
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x30]
lea ecx, [ebp - 0x35c]
call fcn.00434a65
lea ecx, [ebp - 0x644]
call fcn.00434a65
mov dword [ebp - 0x18], 0x6d0b
cmp dword [ebp - 0x18], 0x6db4
jle 0x475258
xor edi, edi
xor ebx, ebx
xor esi, esi
lea eax, [ebx + edi]
cdq
push edx
push eax
lea ecx, [ebp - 0xc1c]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xc1c]
call fcn.00434d6f
inc ebx
cmp ebx, 0x480a
jl 0x475209
inc edi
cmp edi, 0x32fd
jl 0x475205
push 0x246d
call dword [0xada0c8]
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x65c]
call fcn.00434993
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x6c8d
jge 0x47527c
push 0xac4348
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x2c], 0xfff8
mov dword [ebp - 0x54], 0x7013
cmp dword [ebp - 0x54], 0x71d0
jle 0x47534b
mov ebx, eax
mov dword [ebp - 0x4c], ebx
jmp 0x4752c0
xor eax, eax
mov edi, eax
mov dword [ebp - 0x28], edi
jmp 0x4752c9
xor eax, eax
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], 0x4a2f
jmp 0x4752d9
xor eax, eax
mov dword [ebp - 0x3c], eax
mov edi, ebx
shl edi, cl
xor esi, esi
mov ebx, eax
mov eax, edi
and eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xea4]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xea4]
call fcn.00434d6f
inc ebx
cmp ebx, 0x3acb
jl 0x4752e4
mov ecx, dword [ebp - 0x18]
dec ecx
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x30]
mov ebx, dword [ebp - 0x4c]
jne 0x4752d7
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0xc97
jl 0x4752c7
inc ebx
mov dword [ebp - 0x4c], ebx
cmp ebx, 0x66b3
jl 0x4752be
mov dword [ebp - 0x34], 0xbf90a23
mov dword [ebp - 4], 2
cmp dword [ebp - 0x54], 0x6c2e
jge 0x47536d
push 0xac43a8
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
xor edi, edi
inc edi
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x3c], 0x3147f59e
mov dword [ebp - 0x30], 0x5d580090
movdqa xmm0, xmmword [0xac9a40]
movdqu xmmword [ebp - 0x990], xmm0
lea ecx, [ebp - 0x990]
lea eax, [ebp - 0x980]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x774]
call fcn.00434a3f
mov dword [ebp - 0x2c], 0
jmp 0x4753ec
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x65c]
mov dword [eax + ecx*4], 0x3fbb4ebb
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x4753d9
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x65c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x47542d
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], al
je 0x475481
push eax
push eax
push eax
push eax
call dword [0xada308]
jmp 0x475481
mov dword [ebp - 0x44], 0x225189d9
mov dword [ebp - 0x18], 0xe28ab82
cmp dword [ebp - 0x3c], eax
jne 0x475447
cmp dword [ebp - 0x30], eax
mov ecx, eax
je 0x475449
mov ecx, edi
cmp ecx, dword [ebp - 0x44]
jne 0x47545e
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov ecx, edi
jmp 0x475460
mov ecx, eax
mov eax, dword [ebp - 0x774]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x774]
call fcn.00434a65
lea ecx, [ebp - 0x65c]
call fcn.00434a65
xor eax, eax
mov byte [ebp - 0x11], al
mov dword [ebp - 0x44], 0xf251d69f
mov dword [ebp - 0x4c], 0x7d4d
cmp dword [ebp - 0x4c], 0x7f69
jle 0x475509
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0xf51
mov esi, eax
mov edi, dword [ebp - 0x28]
mov ebx, eax
mov eax, edi
or eax, ebx
or eax, esi
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc ebx
cmp ebx, 0x2546
jl 0x4754c7
inc esi
cmp esi, 0x2b19
push 0
pop eax
jl 0x4754c5
mov edi, dword [ebp - 0x30]
add dword [ebp - 0x28], edi
dec dword [ebp - 0x18]
jne 0x4754c0
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x5c2b
jl 0x4754b6
xor edi, edi
inc edi
mov dword [ebp - 0x2c], eax
push 3
pop ecx
jmp 0x47551e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xaf8], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x475511
mov dword [ebp - 4], 4
cmp dword [ebp - 0x4c], 0x7a56
jge 0x475542
mov edx, 0xac4408
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x475569
push 2
pop ebx
mov eax, dword [ebp - 0xaf4]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4755a4
mov dword [ebp - 0x2c], 0x629aa810
mov dword [ebp - 0x2c], eax
jmp 0x47559c
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x475599
call dword [0xada2f0]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x475588
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x23
jne 0x47557c
cmp byte [ebp - 0x11], 0
je 0x4755f8
push 4
lea ecx, [ebp - 0x674]
call fcn.00434993
mov dword [ebp - 0x2c], 0
jmp 0x4755d5
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x674]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x4755c6
mov eax, dword [ebp - 0x674]
xor esi, esi
mov dword [eax + 8], esi
lea ecx, [ebp - 0x674]
call fcn.00434a65
push esi
call dword [0xada2d4]
mov dword [ebp - 0x40], 0x6a9e
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0xa55f07c7
mov dword [ebp - 0x34], 0xbe360de5
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0xec58f553
mov dword [ebp - 0x54], 0x9b4
mov dword [ebp - 0x44], 0x52b3395c
mov dword [ebp - 0x2c], eax
push 2
pop esi
mov ebx, 0xffff
cmp dword [ebp - 0x2c], esi
jge 0x475649
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb7c], ebx
inc dword [ebp - 0x2c]
jmp 0x475635
mov dword [ebp - 0x1c], 0x801fc3ee
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, 0xfffffffb
setge cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, 0x1e2d
setle cl
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x40]
je 0x4756fd
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x4756e2
push eax
push 0x1b13
push eax
push eax
push 0x8e
push 0x10d9
push 0xf9f
push 0x9eb
call dword [0xada088]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x4757b5
push eax
push eax
push eax
call dword [0xada46c]
jmp 0x4757b3
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x4757b3
mov dword [ebp - 0x18], 0x3531
cmp dword [ebp - 0x18], 0x3778
jle 0x475757
push 0xabf
call dword [0xada378]
xor esi, esi
xor edi, edi
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc edi
cmp edi, 0x55a7
jl 0x47572a
inc esi
cmp esi, 0x47d4
jl 0x475728
xor eax, eax
xor edi, edi
inc edi
push 2
pop esi
push eax
push eax
push eax
push 0x161d
call dword [0xada11c]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x18], 0x32df
jge 0x475784
mov edx, 0xac4490
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x4757b3
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jg 0x4759ce
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], 0x6b5
cmp dword [ebp - 0x34], 0x9ad
jle 0x47586f
call dword [0xada3dc]
xor eax, eax
mov dword [ebp - 0x28], eax
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
xor edi, edi
mov ecx, ebx
sar eax, cl
mov dword [ebp - 0x30], eax
xor ebx, ebx
mov dword [ebp - 0x18], 0x674
xor esi, esi
and eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xba4]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xba4]
call fcn.00434d6f
add ebx, edi
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
jne 0x4757fc
inc edi
cmp edi, 0xc6f
jl 0x4757f1
mov ebx, dword [ebp - 0x4c]
inc ebx
mov dword [ebp - 0x4c], ebx
cmp ebx, 0x1aa8
mov eax, dword [ebp - 0x28]
jl 0x4757e8
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x52b6
jl 0x4757e3
xor eax, eax
push eax
push eax
call dword [0xada010]
xor edi, edi
inc edi
mov ebx, 0xffff
push 2
pop esi
mov dword [ebp - 0x2c], 0xa91a76a4
mov dword [ebp - 4], 8
cmp dword [ebp - 0x34], 0x3c8
jge 0x475891
push 0xac44d8
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4758c0
mov dword [ebp - 0x1c], edi
xor eax, eax
cmp dword [ebp - 0x1c], eax
jl 0x4759b3
mov dword [ebp - 0x28], 0x6f63eeda
mov dword [ebp - 0x4c], 0x7c8a36a7
mov dword [ebp - 0x18], 0x36d8
cmp dword [ebp - 0x18], 0x396f
jle 0x47591c
mov esi, eax
mov edi, eax
mov eax, edi
and eax, esi
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc edi
cmp edi, 0x459b
jl 0x4758f0
inc esi
cmp esi, 0x3118
push 0
pop eax
jl 0x4758ee
xor edi, edi
inc edi
push 2
pop esi
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x140a
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x2c], edx
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x18], 0x3572
jge 0x47597c
mov edx, 0xac454c
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x4759ab
dec dword [ebp - 0x1c]
jmp 0x4758c3
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], eax
jl 0x4759c6
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x2c]
jns 0x4759bb
inc dword [ebp - 0x38]
jmp 0x4757b8
xor eax, eax
mov byte [ebp - 0x11], al
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x1c], 0x15d3e997
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], 0xc3a3b2b4
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x18], 0x5ee192ef
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x475a19
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x64], 0xd3f7bf4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x475a04
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x475a2f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa38], 0xf4d75db0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x475a1e
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x64], edi
jg 0x475b8d
mov dword [ebp - 0x2c], 0x7631
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x28], 0xd786
mov dword [ebp - 0x3c], 5
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
xor esi, esi
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
test eax, eax
sets cl
add ecx, dword [ebp - 0x20]
imul ecx, ecx, 0x2130
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 5
setg al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xf
push 2
pop esi
jmp 0x475b81
mov dword [ebp - 0x44], 0xa83acdd7
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x28]
cmp eax, edx
jle 0x475af7
mov ecx, edi
jmp 0x475af9
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, ecx
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
je 0x475b19
cmp dword [ebp - 0x34], 0
je 0x475b19
mov ecx, edi
jmp 0x475b1b
xor ecx, ecx
xor eax, eax
cmp ecx, 0xee3
setg al
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x475b7e
jmp 0x475b37
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x475b48
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x475b35
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe4
jl 0x475ab8
jmp 0x475bce
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x1c], 0
jmp 0x475bc2
mov dword [ebp - 0x2c], 0
jmp 0x475bb3
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x78c], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x475ba6
dec dword [ebp - 0x784]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffed
jg 0x475b9d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x48]
cmp edi, eax
sbb eax, eax
add eax, 0xfffffffc
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp eax, 0x6281
setl dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa30], eax
cmp byte [ebp - 0x11], 0
je 0x475cf1
push esi
lea ecx, [ebp - 0x7a4]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], 0x96c7979b
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x475c8c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x7a4]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x475c76
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x475cc7
mov dword [ebp - 0x50], 0xcce1e2c0
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x475cc1
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xef8], 0x63f9e923
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x475ca8
xor eax, eax
inc dword [ebp - 0x18]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jle 0x475c91
lea ecx, [ebp - 0x7a4]
call fcn.00434a65
push 0x1d88
xor eax, eax
push eax
push 0x23c2
push 0x5ff
push eax
push eax
call dword [0xada020]
lea ecx, [ebp - 0xa50]
call fcn.00434a65
mov dword [ebp - 0x40], 0xe77d
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x20], 0x8ecb302
mov dword [ebp - 0x3c], 0xf7d26684
mov dword [ebp - 0x4c], 7
mov dword [ebp - 0x18], 0x9d940313
mov dword [ebp - 0x18], 0x5af
cmp dword [ebp - 0x18], 0x7aa
jle 0x475dd3
xor eax, eax
push eax
push 0x3c9
push eax
push 0x10cc
call dword [0xada21c]
and dword [ebp - 0x28], 0
xor ecx, ecx
mov dword [ebp - 0x34], ecx
xor edi, edi
xor ebx, ebx
xor esi, esi
mov eax, edi
cdq
idiv ebx
sub ecx, edx
mov eax, dword [ebp - 0x28]
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xde4]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xde4]
call fcn.00434d6f
inc ebx
cmp ebx, 0x45af
mov ecx, dword [ebp - 0x34]
jl 0x475d5d
inc edi
cmp edi, 0x1a40
jl 0x475d59
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x5733
jl 0x475d57
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x26ed
jl 0x475d52
push esi
call dword [0xada42c]
xor edi, edi
inc edi
mov ebx, 0xffff
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x18], 0x402
jge 0x475df2
push 0xac45b8
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x475e1e
cmp byte [ebp - 0x11], 0
je 0x475e34
push 0x12b
push 0x3cc
call dword [0xada49c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0x20]
je 0x475e65
cmp dword [ebp - 0x20], 0
je 0x475e65
mov edx, edi
jmp 0x475e67
xor edx, edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
sete cl
imul ecx, dword [ebp - 0x30]
imul ecx, ecx, 0xbc43
dec ecx
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
test ecx, ecx
sets al
mov dword [ebp - 0x18], eax
movdqa xmm0, xmmword [0xac9a20]
movdqu xmmword [ebp - 0x910], xmm0
lea ecx, [ebp - 0x910]
lea eax, [ebp - 0x900]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xa80]
call fcn.00434a3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 0xf2e5664d
mov dword [ebp - 0x28], 0xffffffff
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x18
jg 0x475f79
lea esi, [ebp - 0x8ac]
lea eax, [ebp - 0x89c]
movdqa xmm0, xmmword [0xac99c0]
movdqu xmmword [ebp - 0x8ac], xmm0
push ecx
push eax
push esi
lea ecx, [ebp - 0x578]
call fcn.00434a3f
mov dword [ebp - 0x3c], 0x737ae9f9
mov eax, dword [ebp - 0x578]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x38], 0
je 0x475f35
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x578]
cmp dword [eax + 0xc], edi
setg dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x578]
call fcn.00434a65
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x18
lea eax, [ebp - 0x89c]
jle 0x475ef0
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 0xce96f8f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x475fb6
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xa68], 0xa6f
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x475f9d
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x475fcb
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
je 0x475fc9
mov ecx, edi
xor eax, eax
jmp 0x475fcd
xor eax, eax
mov ecx, eax
cmp ecx, dword [ebp - 0x24]
jle 0x475fd9
cmp dword [ebp - 0x24], eax
je 0x475fd9
mov eax, edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
imul ecx, eax, 0x52ea
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setl dl
mov dword [ebp - 0x34], edx
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x476007
mov eax, edi
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], 0xfffffffc
jmp 0x476056
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], 0
jmp 0x476045
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x28c], 0xdd5d
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x476034
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff8
jl 0x476028
mov dword [ebp - 0x34], 0x8a1f
push edi
lea ecx, [ebp - 0x62c]
call fcn.00434993
push 3
lea ecx, [ebp - 0x308]
call fcn.00434993
mov dword [ebp - 0x18], 0x57e3b6f9
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x2f5a260d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x4760b1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x62c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x476097
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x4760c9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], 0x7d50f82b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4760b6
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x62c]
mov dword [eax], esi
xor ecx, ecx
mov edx, dword [ebp - 0x308]
cmp dword [edx], edi
setne cl
neg ecx
xor eax, eax
cmp ecx, 0x5154
setl al
mov dword [ebp - 0x18], eax
mov ecx, 0x917ab6da
sub ecx, dword [edx]
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp esi, eax
setne cl
mov eax, dword [ebp - 0x308]
imul ecx, dword [eax]
mov eax, dword [ebp - 0x34]
sub eax, ecx
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x30]
lea ecx, [ebp - 0x308]
call fcn.00434a65
lea ecx, [ebp - 0x62c]
call fcn.00434a65
xor eax, eax
mov byte [ebp - 0x59], al
mov dword [ebp - 0x30], 0x3423
cmp dword [ebp - 0x30], 0x34c1
jle 0x4761b2
mov edi, eax
mov ebx, eax
xor esi, esi
lea eax, [ebx + edi]
cdq
push edx
push eax
lea ecx, [ebp - 0xc70]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xc70]
call fcn.00434d6f
inc ebx
cmp ebx, 0x7172
jl 0x476155
inc edi
xor eax, eax
cmp edi, 0x634b
jl 0x476151
push 0x26d5
push eax
push eax
push 0x1b19
call dword [0xada0d4]
xor edi, edi
inc edi
mov ebx, 0xffff
push edi
lea ecx, [ebp - 0x404]
call fcn.00434993
mov dword [ebp - 0x2c], 0xfff8
mov dword [ebp - 0x34], 0xbf90a23
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x3c], 0x3147f59e
mov dword [ebp - 0x4c], 0x5d580090
movdqa xmm0, xmmword [0xac9a40]
movdqu xmmword [ebp - 0xa10], xmm0
lea ecx, [ebp - 0xa10]
lea eax, [ebp - 0xa00]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x7bc]
call fcn.00434a3f
mov dword [ebp - 0x2c], 0
jmp 0x47622a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x404]
mov dword [eax + ecx*4], 0x3fbb4ebb
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x476217
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x404]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x47626b
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x4762bf
push eax
push eax
push eax
push eax
call dword [0xada308]
jmp 0x4762bf
mov dword [ebp - 0x44], 0x225189d9
mov dword [ebp - 0x18], 0xe28ab82
cmp dword [ebp - 0x3c], eax
jne 0x476285
cmp dword [ebp - 0x4c], eax
mov ecx, eax
je 0x476287
mov ecx, edi
cmp ecx, dword [ebp - 0x44]
jne 0x47629c
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov ecx, edi
jmp 0x47629e
mov ecx, eax
mov eax, dword [ebp - 0x7bc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x7bc]
call fcn.00434a65
lea ecx, [ebp - 0x404]
call fcn.00434a65
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x30], 0x3096
jge 0x4762f0
push 0xac4644
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x47631c
push 2
pop esi
xor eax, eax
cmp byte [ebp - 0x59], al
je 0x47632d
push eax
call dword [0xada2d4]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x47634f
push 0x1d88
push eax
push 0x23c2
push 0x5ff
push eax
push eax
call dword [0xada020]
lea ecx, [ebp - 0xa80]
call fcn.00434a65
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], 0x1bab5934
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x38], 0x1b1b552b
mov dword [ebp - 0x28], 0x7582ba8d
mov dword [ebp - 0x50], 0x5b627429
mov dword [ebp - 0x6d4], 0xfffffffa
mov dword [ebp - 0x6d0], 0xfffffffa
mov dword [ebp - 0x6cc], 0xfffffffa
mov dword [ebp - 0x6c8], 0xfffffffa
mov dword [ebp - 0x2c], 0
jmp 0x4763c2
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x164], 0xfffffff6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x4763b1
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x28]
je 0x4763da
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
neg eax
neg eax
cmp eax, 0xfd47030f
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x48]
je 0x476409
xor eax, eax
cmp dword [ebp - 0x40], eax
mov edx, eax
je 0x47640b
mov edx, edi
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x44]
sub ecx, esi
mov dword [ebp - 0x48], ecx
je 0x47642a
cmp dword [ebp - 0x48], 0
je 0x47642a
mov edx, edi
jmp 0x47642c
xor edx, edx
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x164], eax
xor ecx, ecx
cmp eax, edx
setg cl
mov eax, 0x98737a30
cmp eax, ecx
sbb ecx, ecx
neg ecx
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
cmp edx, edi
jb 0x4764f2
mov dword [ebp - 0x3c], 0x685e
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x18], 0x16fefd52
mov dword [ebp - 0x50], 0xfffffffa
mov dword [ebp - 0x50], 0x903adfe1
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x50], 0xffffffff
push edi
lea ecx, [ebp - 0x7d4]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x4764c5
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x7d4]
mov dword [eax + ecx*4], 0x15e3087c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x4764ab
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x4764d1
cmp dword [ebp - 0x44], eax
je 0x4764d1
mov eax, edi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0x7d4]
jmp 0x476620
push 4
lea ecx, [ebp - 0x5cc]
call fcn.00434993
push 4
lea ecx, [ebp - 0x7ec]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x47652f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5cc]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x476517
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x476553
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7ec]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x476538
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2e
je 0x4765ff
mov esi, dword [ebp - 0x5cc]
mov dword [ebp - 0x2c], eax
push 2
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x476589
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3d4], 0xfffa
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x476571
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x4765a3
push eax
push 0x155e
push 0x945
call dword [0xada4b0]
cmp dword [ebp - 0x3d4], 0xea955042
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x164]
add eax, ecx
xor ecx, ecx
cmp eax, dword [esi + 4]
setne cl
imul ecx, ecx, 0x3ef4
mov eax, dword [ebp - 0x3d4]
xor edx, edx
cmp eax, ecx
setle dl
sub edx, dword [esi + 4]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 9
setne al
mov dword [ebp - 0x164], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x2e
push 0
pop eax
jne 0x476566
mov eax, dword [ebp - 0x6cc]
xor ecx, ecx
cmp eax, edi
setg cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x7ec]
call fcn.00434a65
lea ecx, [ebp - 0x5cc]
call fcn.00434a65
movdqa xmm0, xmmword [0xac9a20]
movdqu xmmword [ebp - 0x930], xmm0
lea ecx, [ebp - 0x930]
lea eax, [ebp - 0x920]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xa98]
call fcn.00434a3f
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x476662
push eax
call dword [0xada2d4]
xor eax, eax
mov dword [ebp - 0x18], 0xe4f
cmp dword [ebp - 0x18], 0x1182
jle 0x4766c6
mov ebx, eax
jmp 0x476678
xor eax, eax
mov edi, eax
xor esi, esi
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xf58]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xf58]
call fcn.00434d6f
inc edi
cmp edi, 0x7931
jl 0x47667c
inc ebx
cmp ebx, 0x147f
jl 0x476676
xor edi, edi
inc edi
mov ebx, 0xffff
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x4766e8
push 0x1d88
push eax
push 0x23c2
push 0x5ff
push eax
push eax
call dword [0xada020]
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x18], 0xad8
jge 0x476703
push 0xac4658
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x47672f
mov esi, 0x98737a30
lea ecx, [ebp - 0xa98]
call fcn.00434a65
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], 0x1bab5934
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x38], 0x1b1b552b
mov dword [ebp - 0x28], 0x7582ba8d
mov dword [ebp - 0x50], 0x5b627429
mov dword [ebp - 0x6b4], 0xfffffffa
mov dword [ebp - 0x6b0], 0xfffffffa
mov dword [ebp - 0x6ac], 0xfffffffa
mov dword [ebp - 0x6a8], 0xfffffffa
mov dword [ebp - 0x2c], 0
push 2
pop ecx
jmp 0x4767aa
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x15c], 0xfffffff6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x476799
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x28]
je 0x4767c2
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
neg eax
neg eax
cmp eax, 0xfd47030f
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x48]
je 0x4767f1
xor eax, eax
cmp dword [ebp - 0x40], eax
mov edx, eax
je 0x4767f3
mov edx, edi
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x44]
dec ecx
dec ecx
mov dword [ebp - 0x48], ecx
je 0x476812
cmp dword [ebp - 0x48], 0
je 0x476812
mov edx, edi
jmp 0x476814
xor edx, edx
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x15c], eax
xor ecx, ecx
cmp eax, edx
setg cl
cmp esi, ecx
sbb ecx, ecx
neg ecx
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
cmp edx, edi
jb 0x4768d5
mov dword [ebp - 0x3c], 0x685e
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x18], 0x16fefd52
mov dword [ebp - 0x50], 0xfffffffa
mov dword [ebp - 0x50], 0x903adfe1
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x50], 0xffffffff
push edi
lea ecx, [ebp - 0x800]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x4768a8
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x800]
mov dword [eax + ecx*4], 0x15e3087c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x47688e
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x4768b4
cmp dword [ebp - 0x44], eax
je 0x4768b4
mov eax, edi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x15c], ecx
lea ecx, [ebp - 0x800]
jmp 0x476ae0
mov dword [ebp - 0x28], 0x356f
cmp dword [ebp - 0x28], 0x3818
jle 0x47696b
and dword [ebp - 0x30], 0
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], 0x3f2e
xor edi, edi
xor ebx, ebx
xor esi, esi
mov eax, edi
cdq
idiv ebx
mov eax, ecx
mov ecx, edx
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xca0]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xca0]
call fcn.00434d6f
inc ebx
cmp ebx, 0x65f6
mov ecx, dword [ebp - 0x34]
jl 0x4768ff
inc edi
cmp edi, 0x2225
jl 0x4768fb
mov eax, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x18]
jne 0x4768f9
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x1073
jl 0x4768ed
xor edi, edi
inc edi
mov ebx, 0xffff
push 4
lea ecx, [ebp - 0x41c]
call fcn.00434993
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x28], 0x3479
jge 0x476993
push 0xac4670
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4769bf
push 4
lea ecx, [ebp - 0x71c]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x4769ef
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x41c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x4769d7
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x476a13
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x71c]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x4769f8
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2e
je 0x476abf
mov esi, dword [ebp - 0x41c]
mov dword [ebp - 0x2c], eax
push 2
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x476a49
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3ac], 0xfffa
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x476a31
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x476a63
push eax
push 0x155e
push 0x945
call dword [0xada4b0]
cmp dword [ebp - 0x3ac], 0xea955042
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x15c]
add eax, ecx
xor ecx, ecx
cmp eax, dword [esi + 4]
setne cl
imul ecx, ecx, 0x3ef4
mov eax, dword [ebp - 0x3ac]
xor edx, edx
cmp eax, ecx
setle dl
sub edx, dword [esi + 4]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 9
setne al
mov dword [ebp - 0x15c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x2e
push 0
pop eax
jne 0x476a26
mov eax, dword [ebp - 0x6ac]
xor ecx, ecx
cmp eax, edi
setg cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x71c]
call fcn.00434a65
lea ecx, [ebp - 0x41c]
call fcn.00434a65
mov dword [ebp - 0x44], 0xf251d69f
mov dword [ebp - 0x2c], 0
push 3
pop ecx
jmp 0x476b05
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xab0], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x476af8
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x44], eax
push 2
pop esi
cmp dword [ebp - 0x44], 0x23
je 0x476b4b
mov dword [ebp - 0x2c], 0x629aa810
mov dword [ebp - 0x2c], eax
jmp 0x476b41
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x476b3e
call dword [0xada2f0]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x476b2d
inc dword [ebp - 0x44]
jmp 0x476b1b
push 4
lea ecx, [ebp - 0x374]
call fcn.00434993
mov dword [ebp - 0x2c], 0
jmp 0x476b70
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x374]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x476b61
mov eax, dword [ebp - 0x374]
add eax, 8
and dword [eax], 0
cmp dword [eax], 0xfffffffc
jg 0x476d91
mov dword [ebp - 0x18], 0x8e4
cmp dword [ebp - 0x18], 0xc4a
jle 0x476bfe
xor ecx, ecx
mov dword [ebp - 0x34], ecx
xor edi, edi
xor ebx, ebx
xor esi, esi
mov eax, edi
cdq
idiv ebx
mov eax, ecx
mov ecx, edx
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xe14]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xe14]
call fcn.00434d6f
inc ebx
cmp ebx, 0x7b3e
mov ecx, dword [ebp - 0x34]
jl 0x476ba6
inc edi
cmp edi, 0x5010
jl 0x476ba2
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x77d3
jl 0x476ba0
push 2
lea ecx, [ebp - 0x638]
call fcn.00434993
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x18], 0x86b
jge 0x476c26
push 0xac46c4
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x18], 0x588c
cmp dword [ebp - 0x18], 0x5a2d
jle 0x476ca2
mov ebx, eax
jmp 0x476c5c
xor eax, eax
mov edi, eax
xor esi, esi
mov eax, edi
or eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xcd0]
call fcn.004018f3
pop ecx
pop ecx
mov ecx, eax
call fcn.00434873
push eax
call fcn.004af787
pop ecx
push esi
push 1
lea ecx, [ebp - 0xcd0]
call fcn.00434d6f
inc edi
cmp edi, 0x7376
jl 0x476c60
inc ebx
cmp ebx, 0x5b91
jl 0x476c5a
mov dword [ebp - 0x2c], 0
push 2
pop esi
jmp 0x476cbe
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x638]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x476cae
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x18], 0x57d4
jge 0x476cde
push 0xac46dc
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
xor edi, edi
inc edi
jmp 0x476d0f
mov ebx, 0xffff
mov ecx, dword [ebp - 0x638]
mov dword [ecx + 4], eax
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x476d44
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x84], 0xff82ff40
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x476d2c
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xffffffe8
jne 0x476d6d
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x84]
cmp dword [ebp - 0x84], 0xffffffe8
je 0x476d53
xor eax, eax
inc dword [ecx + 4]
cmp dword [ecx + 4], 0x1d
jle 0x476d1d
lea ecx, [ebp - 0x638]
call fcn.00434a65
mov eax, dword [ebp - 0x374]
add eax, 8
dec dword [eax]
jmp 0x476b82
lea ecx, [ebp - 0x374]
call fcn.00434a65
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x44], 0x1bab5934
mov dword [ebp - 0x40], 0x6a9e
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0xa55f07c7
mov dword [ebp - 0x34], 0xbe360de5
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0xec58f553
mov dword [ebp - 0x54], 0x9b4
mov dword [ebp - 0x30], 0x52b3395c
mov dword [ebp - 0x2c], eax
jmp 0x476dea
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb3c], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x476ddd
mov dword [ebp - 0x1c], 0x801fc3ee
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, 0xfffffffb
setge cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, 0x1e2d
setle cl
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x40]
je 0x476fb2
mov dword [ebp - 0x18], 0x6279
cmp dword [ebp - 0x18], 0x65c0
jle 0x476ea7
push 0xdae
xor eax, eax
push eax
push eax
push eax
call dword [0xada0c4]
xor edi, edi
xor esi, esi
lea eax, [esi + edi]
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc esi
cmp esi, 0x4aa3
jl 0x476e82
inc edi
cmp edi, 0x3575
jl 0x476e80
xor edi, edi
inc edi
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x476ed3
push eax
push 0x1b13
push eax
push eax
push 0x8e
push 0x10d9
push 0xf9f
push 0x9eb
call dword [0xada088]
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x18], 0x6222
jge 0x476ef2
mov edx, 0xac46fc
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x476f19
xor eax, eax
mov dword [ebp - 0x18], 0xacc
cmp dword [ebp - 0x18], 0xe1e
jle 0x476f57
mov edi, eax
mov esi, eax
lea eax, [esi + edi]
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc esi
cmp esi, 0x45bf
jl 0x476f2f
inc edi
cmp edi, 0x29fb
push 0
pop eax
jl 0x476f2d
xor edi, edi
inc edi
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x476f6a
push eax
push eax
push eax
call dword [0xada46c]
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x18], 0x7e1
jge 0x476f89
mov edx, 0xac4774
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x476fca
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x476fca
push eax
push eax
push eax
push 0x161d
call dword [0xada11c]
push 2
pop ebx
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x477057
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x2c], 0xa91a76a4
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], eax
jl 0x47703f
mov dword [ebp - 0x28], 0x6f63eeda
mov dword [ebp - 0x4c], 0x7c8a36a7
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x140a
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x2c], edx
dec dword [ebp - 0x1c]
jns 0x476fe9
xor eax, eax
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], eax
jl 0x477054
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x2c]
jns 0x477047
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x476fd7
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], 0x15d3e997
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x58], 0xc3a3b2b4
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], 0x5ee192ef
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x4770ad
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], 0xd3f7bf4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x477098
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x4770c3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac8], 0xf4d75db0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4770b2
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x60], edi
jg 0x47721d
mov dword [ebp - 0x48], 0x7631
mov dword [ebp - 0x4c], 0xfffffffc
mov dword [ebp - 0x54], 5
mov dword [ebp - 0x30], 0xd786
mov dword [ebp - 0x3c], 5
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x60]
xor esi, esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
xor ecx, ecx
test eax, eax
sets cl
add ecx, dword [ebp - 0x54]
imul ecx, ecx, 0x2130
mov eax, dword [ebp - 0x60]
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 5
setg al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xf
jmp 0x477211
mov dword [ebp - 0x40], 0xa83acdd7
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x30]
dec dword [ebp - 0x30]
cmp eax, edx
jle 0x477188
cmp dword [ebp - 0x1c], 0xffffffe4
jl 0x477149
jmp 0x47725e
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x1c], 0
jmp 0x477252
mov dword [ebp - 0x48], 0
jmp 0x477243
cmp dword [ebp - 0x1c], 0xffffffed
jg 0x47722d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x38]
cmp edi, eax
sbb eax, eax
add eax, 0xfffffffc
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
cmp eax, 0x6281
setl dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xac0], eax
push ebx
lea ecx, [ebp - 0x710]
call fcn.00434993
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 0x96c7979b
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], ebx
jge 0x477312