Function at 0x430d80
Capabilities:
Parse pe header

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
xor edi, edi
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea ebp, [esi + eax*8]
shl ebp, 2
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
jg 0x430da2
neg eax
cmp eax, 0x400
jle 0x430dd3
mov ecx, dword [ebp + 0x5a535c]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
mov ecx, dword [ecx*4 + 0x54f800]
lea edx, [ecx + 0xf]
cmp eax, edx
je 0x430dcd
add ecx, 3
cmp eax, ecx
jne 0x430dd3
mov dword [ebp + 0x5a5060], edi
cmp dword [ebp + 0x5a5004], edi
jne 0x430e0b
cmp dword [ebp + 0x5a5060], edi
je 0x430e0b
mov eax, dword [ebp + 0x5a535c]
mov edx, dword [ebp + 0x5a5008]
mov ecx, dword [eax*4 + 0x54f800]
add ecx, edx
xor edx, edx
mov dx, word [ebp + 0x5a4f14]
cmp edx, ecx
jne 0x430e0b
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a5368]
mov edx, 0x55
cmp eax, edi
mov ebx, 1
je 0x430e9e
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a535c]
xor edx, edx
mov ecx, dword [eax*4 + 0x54f800]
mov dx, word [ebp + 0x5a4f14]
add ecx, 0x13
cmp edx, ecx
mov ecx, dword [ebp + 0x5a5060]
jne 0x430e74
cmp ecx, edi
jne 0x434004
mov dword [ebp + 0x5a5368], edi
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x4c
mov word [ebp + 0x5a4f14], cx
jmp 0x433f8c
cmp ecx, edi
jne 0x434004
mov dx, word [eax*4 + 0x54f800]
add dx, 0x13
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 7
jmp 0x430f5f
mov eax, dword [0x5d01c4]
mov ecx, dword [0x5d01c8]
cmp eax, ebx
jne 0x431040
cmp ecx, 0x8000
jle 0x431040
mov byte [ebp + 0x5a4f25], 1
mov dword [ebp + 0x5a4f68], edi
cmp dword [ebp + 0x5a4f78], edi
je 0x430eeb
mov ecx, dword [ebp + 0x5a4ef0]
mov eax, 0x40000
add ecx, eax
mov dword [ebp + 0x5a4ef0], ecx
mov dword [ebp + 0x5a4ef8], eax
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4f00], edi
mov eax, dword [ebp + 0x5a4ef8]
cmp eax, edi
jge 0x430f0d
mov dword [ebp + 0x5a4ef8], edi
cmp dword [ebp + 0x5a4fdc], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
xor edx, edx
mov dx, word [ebp + 0x5a4f14]
mov ecx, dword [eax*4 + 0x54f800]
add ecx, 0xc
cmp edx, ecx
je 0x430f77
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0xc
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 6
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], ebx
jmp 0x434004
cmp dword [ebp + 0x5a5068], edi
jne 0x430fce
mov al, byte [ebp + 0x5a4f1c]
cmp al, 1
jne 0x430fa9
mov eax, dword [ebp + 0x5a4eec]
mov edx, dword [ebp + 0x5a4ef0]
push edi
push 0x80
push 0x95
sub eax, 0x400000
push edx
push eax
jmp 0x430fc6
cmp al, 0xa
jne 0x430fce
mov edx, dword [ebp + 0x5a4eec]
mov ecx, dword [ebp + 0x5a4ef0]
push edi
push 0x7f
push 0xc
add edx, 0x400000
push ecx
push edx
call fcn.00478870
add esp, 0x14
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
cmp dword [0x58b0c0], edi
jne 0x431003
cmp dword [0x5db7ec], ebx
je 0x430ff7
mov eax, dword [0x5a4b68]
cmp eax, edi
je 0x430ff7
cmp eax, ebx
jne 0x431003
mov dword [0x5db7f0], 6
jmp 0x431015
cmp dword [0x5db7f0], edi
jne 0x431015
mov dword [0x5db7f0], 0x8000
mov ecx, dword [ebp + 0x5a535c]
xor edx, edx
mov eax, dword [ecx*4 + 0x54f800]
mov cx, word [ecx*4 + 0x54f800]
mov dx, word [eax*8 + 0x54fa20]
mov eax, edx
dec eax
add cx, 0xc
jmp 0x4324e9
mov ebx, 2
cmp eax, ebx
jne 0x431171
cmp ecx, 0x8000
jle 0x431171
mov byte [ebp + 0x5a4f25], 1
mov dword [ebp + 0x5a4f68], edi
cmp dword [ebp + 0x5a4f78], edi
je 0x431087
mov ecx, dword [ebp + 0x5a4ef0]
mov eax, 0x40000
add ecx, eax
mov dword [ebp + 0x5a4ef0], ecx
mov dword [ebp + 0x5a4ef8], eax
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4f00], edi
mov eax, dword [ebp + 0x5a4ef8]
cmp eax, edi
jge 0x4310a9
mov dword [ebp + 0x5a4ef8], edi
cmp dword [ebp + 0x5a4fdc], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
xor ecx, ecx
mov cx, word [ebp + 0x5a4f14]
mov eax, dword [edx*4 + 0x54f800]
add eax, 0x57
cmp ecx, eax
je 0x431100
mov dword [ebp + 0x5a5060], edi
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x57
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 6
jmp 0x4325af
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [0x5a4b68]
cmp eax, edi
je 0x43112e
cmp eax, 1
je 0x43112e
cmp dword [0x5db7f0], edi
jne 0x431138
mov dword [0x5db7f0], 0x8006
jmp 0x431138
mov dword [0x5db7f0], 6
mov dword [ebp + 0x5a4fc4], ebx
mov dword [ebp + 0x5a4fc0], 1
mov ecx, dword [ebp + 0x5a535c]
xor eax, eax
mov edx, dword [ecx*4 + 0x54f800]
mov cx, word [ecx*4 + 0x54f800]
mov ax, word [edx*8 + 0x54fc78]
dec eax
add cx, 0x57
jmp 0x4324e9
cmp dword [ebp + 0x5a4fc0], edi
je 0x4314a4
mov eax, dword [ebp + 0x5a4fc4]
cmp eax, edi
jne 0x43122e
mov dword [ebp + 0x5a5060], edi
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push 0x80
push 0xaf
push edx
push eax
call fcn.00478870
mov eax, dword [ebp + 0x5a4fc8]
add esp, 0x14
cmp eax, edi
mov eax, dword [ebp + 0x5a5060]
je 0x4311e1
cmp eax, edi
jne 0x43121f
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x5a
mov word [ebp + 0x5a4f14], dx
jmp 0x4311fe
cmp eax, edi
jne 0x43121f
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x57
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov dword [ebp + 0x5a4fc4], 1
jmp 0x434004
mov edx, 1
cmp eax, edx
jne 0x4312f6
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4ef8], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4f00], edi
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a4fc8]
mov ecx, dword [ebp + 0x5a535c]
cmp eax, edi
mov eax, dword [ecx*4 + 0x54f800]
je 0x431291
mov cx, word [ecx*4 + 0x54f800]
xor esi, esi
mov si, word [eax*8 + 0x54fc90]
mov eax, esi
dec eax
add cx, 0x5a
jmp 0x4312aa
mov cx, word [ecx*4 + 0x54f800]
xor esi, esi
mov si, word [eax*8 + 0x54fc78]
mov eax, esi
dec eax
add cx, 0x57
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], al
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a4fcc]
mov dword [ebp + 0x5a4eec], eax
mov ecx, dword [ebp + 0x5a4fd0]
mov dword [ebp + 0x5a4ef0], ecx
mov dword [ebp + 0x5a4fc4], ebx
mov dword [ebp + 0x5a53d8], edx
jmp 0x434004
cmp eax, ebx
jne 0x4313cd
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a4fdc]
cmp eax, edi
je 0x43131a
cmp dword [ebp + 0x5a4fe8], edi
je 0x43131a
mov eax, edx
jmp 0x43131c
xor eax, eax
mov dword [ebp + 0x5a4fc8], eax
cmp eax, edi
mov eax, dword [ebp + 0x5a5060]
je 0x431344
cmp eax, edi
jne 0x43137e
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x58
jmp 0x43135a
cmp eax, edi
jne 0x43137e
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x5b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edx
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push 0xa
push 0x4a
push edx
push eax
call fcn.00478870
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
add esp, 0x14
push 0x5622
push 0x80
push 0xb0
push ecx
push edx
call fcn.00478870
add esp, 0x14
mov dword [ebp + 0x5a4fc4], 0xffffffff
jmp 0x434004
cmp dword [ebp + 0x5a5060], edi
je 0x431406
mov dword [ebp + 0x5a4ef4], edi
mov eax, dword [ebp + 0x5a4ef8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp + 0x5a4ef8], eax
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4f00], edi
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
jne 0x434004
cmp dword [ebp + 0x5a4fc8], edi
je 0x43144c
cmp dword [ebp + 0x5a4fdc], edi
je 0x431435
cmp dword [ebp + 0x5a4f64], edi
jne 0x431435
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x59
jmp 0x433d7c
mov dword [ebp + 0x5a4fc8], edi
mov dword [ebp + 0x5a4fc0], edi
mov dword [ebp + 0x5a4fc4], edi
jmp 0x434004
mov ecx, dword [ebp + 0x5a535c]
xor eax, eax
mov edx, dword [ecx*4 + 0x54f800]
mov cx, word [ecx*4 + 0x54f800]
mov ax, word [edx*8 + 0x54fc98]
dec eax
add cx, 0x5b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], al
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
mov dword [ebp + 0x5a4fc0], edi
mov dword [ebp + 0x5a4fc4], edi
jmp 0x434004
mov al, byte [ebp + 0x5a4f1e]
test al, al
jne 0x431990
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4f00], edi
mov eax, dword [ebp + 0x5a4ef8]
cmp eax, edi
jge 0x4314d4
mov dword [ebp + 0x5a4ef8], edi
mov edx, dword [ebp + 0x5a535c]
xor ecx, ecx
mov cx, word [ebp + 0x5a4f14]
mov eax, dword [edx*4 + 0x54f800]
add eax, 5
cmp ecx, eax
je 0x4315df
mov dword [ebp + 0x5a5060], edi
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 5
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 6
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov eax, dword [ebp + 0x5a542c]
cmp eax, edi
jne 0x434004
cmp dword [ebp + 0x5a53f0], edi
jne 0x431555
mov dword [ebp + 0x5a53f0], 0x15e
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0043cd90
mov eax, dword [0x6087b0]
mov ebx, 7
mov dl, al
sub al, 0x2c
add dl, 4
and eax, 0xff
and edx, 0xff
add esp, 4
mov eax, dword [eax + 0x608a20]
mov ecx, edx
mov dword [0x6087b0], ecx
mov dword [ebp + 0x5a50a8], ebx
mov edx, dword [ecx + 0x608a20]
xor edx, eax
and eax, ebx
mov dword [ecx + 0x608a20], edx
or ecx, 0xffffffff
mov edi, dword [eax*4 + 0x5d147c]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x5a50bc]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x4d3e40]
xor edi, edi
mov dword [0x5db7e8], ecx
jmp 0x434004
mov al, byte [0x4d6000]
test al, al
je 0x4317e8
cmp dword [0x5a4d00], 1
jne 0x43160f
mov eax, dword [0x4d3e40]
sub eax, 4
mov dword [0x4d3e40], eax
jns 0x43160a
mov dword [0x4d3e40], edi
call fcn.00499670
cmp dword [ebp + 0x5a5068], edi
jne 0x4317e8
mov eax, dword [ebp + 0x5a535c]
cmp eax, 0x36
mov al, byte [ebp + 0x5a4f1c]
jne 0x431729
test al, al
jne 0x43164e
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x93
push edx
push eax
jmp 0x4317e0
cmp al, 2
jne 0x431687
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push edi
push 0x14
push 0x92
push ecx
push edx
call fcn.00478870
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
add esp, 0x14
push edi
push edi
push 0x45
push eax
push ecx
jmp 0x4317e0
cmp al, 5
jne 0x4316a3
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push 0x28
push 0x42
push edx
push eax
jmp 0x4317e0
cmp al, 9
jne 0x4316bd
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x54
push ecx
jmp 0x4317df
cmp al, 0xb
jne 0x4316d9
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push 0x32
push 0x6d
push eax
push ecx
jmp 0x4317e0
cmp al, 0xc
jne 0x4316fd
mov eax, dword [ebp + 0x5a4eec]
mov edx, dword [ebp + 0x5a4ef0]
push edi
push 0x80
push 0x42
sub eax, 0x640000
push edx
push eax
jmp 0x4317e0
cmp al, 0xe
jne 0x4317e8
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push 0x36b0
push 0x80
push 0x42
push ecx
add edx, 0x640000
jmp 0x4317df
cmp al, 1
jne 0x431747
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x197
push eax
push ecx
jmp 0x4317e0
cmp al, 4
jne 0x431767
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push 0x2710
push 0x28
push 0xa6
push edx
push eax
jmp 0x4317e0
cmp al, 7
jne 0x43177e
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x45
push ecx
jmp 0x4317df
cmp al, 0xe
jne 0x4317bf
mov ecx, dword [ebp + 0x5a4eec]
mov eax, dword [ebp + 0x5a4ef0]
push 0x2328
push 0x32
push 0x51
sub ecx, 0x640000
push eax
push ecx
call fcn.00478870
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
add esp, 0x14
push edi
push 0x32
push 0xa4
push edx
push eax
jmp 0x4317e0
cmp al, 0x11
jne 0x4317e8
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push 0x1f40
push 0x1e
push 0x51
push ecx
sub edx, 0x640000
push edx
call fcn.00478870
add esp, 0x14
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [0x5db7e8]
mov ecx, dword [0x54f8d8]
mov dword [0x4d3e40], eax
mov edx, dword [ebp + 0x5a535c]
xor eax, eax
mov ax, word [ecx*8 + 0x54f9e8]
mov cx, word [edx*4 + 0x54f800]
add cx, 5
dec eax
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], al
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
mov eax, dword [0x5db7ec]
cmp eax, 1
jle 0x431871
cmp dword [0x5d01c4], edi
je 0x431871
cmp dword [0x5db7f0], edi
jne 0x434004
mov dword [0x5db7f0], 0x8006
jmp 0x434004
cmp dword [ebp + 0x5a5080], edi
jge 0x4318a7
cmp dword [0x5a4b68], edi
jne 0x434004
mov dword [ebp + 0x5a53f0], edi
mov eax, dword [0x5db7f0]
cmp eax, edi
jne 0x434004
mov dword [0x5db7f0], 0x8005
jmp 0x434004
cmp dword [ebp + 0x5a542c], edi
je 0x4318ce
mov eax, dword [0x5a4b68]
cmp eax, 5
je 0x434004
cmp eax, ebx
je 0x434004
cmp eax, 4
je 0x434004
push esi
mov dword [ebp + 0x5a53f0], edi
call fcn.0043ec20
mov eax, dword [0x5a4d00]
add esp, 4
cmp eax, 1
jne 0x43192c
call fcn.0049a3e0
push 0x3e
push 0x557d60
push 0x5473b3
call fcn.004b7ca0
add esp, 0xc
test eax, eax
je 0x431918
call fcn.0049a260
push 0x5473b3
call fcn.00465370
add esp, 4
jmp 0x43191d
call fcn.0049a3c0
call fcn.00499710
push 1
call fcn.004994d0
add esp, 4
mov eax, dword [0x5a4b68]
push esi
cmp eax, edi
jne 0x43193f
call fcn.0041e360
add esp, 4
push esi
call fcn.0042fb00
mov eax, dword [0x5a4b68]
add esp, 4
cmp eax, ebx
je 0x43196f
cmp eax, 5
je 0x43196f
mov edx, dword [ebp + 0x5a4ee4]
mov dword [ebp + 0x5a4eec], edx
mov eax, dword [ebp + 0x5a4ee8]
mov dword [ebp + 0x5a4ef0], eax
jmp 0x431978
push esi
call fcn.0042a4f0
add esp, 4
push esi
mov dword [ebp + 0x5a53d8], 1
call fcn.00429ce0
add esp, 4
jmp 0x434004
cmp dword [ebp + 0x5a5084], edi
jle 0x431a9e
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a5084]
cmp eax, 0x46
jne 0x431a48
mov dword [ebp + 0x5a5060], edi
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x20
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 4
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, 0x20000
jle 0x431a19
movsx ecx, byte [ebp + 0x5a4f25]
cdq
sub eax, edx
sar eax, 1
neg eax
shl ecx, 0x11
sub eax, ecx
mov dword [ebp + 0x5a4ef4], eax
jmp 0x431a2b
movsx edx, byte [ebp + 0x5a4f25]
neg edx
shl edx, 0x12
mov dword [ebp + 0x5a4ef4], edx
cmp dword [ebp + 0x5a4ef8], edi
jl 0x431a3d
mov dword [ebp + 0x5a4ef8], 0xfffc0000
dec dword [ebp + 0x5a5084]
jmp 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov edx, dword [ecx*4 + 0x54f800]
xor ecx, ecx
mov cx, word [ebp + 0x5a4f14]
add edx, 0x20
cmp ecx, edx
jne 0x431a75
cmp dword [ebp + 0x5a5060], edi
jne 0x431a75
mov dword [ebp + 0x5a5084], edi
jmp 0x431a7c
dec eax
mov dword [ebp + 0x5a5084], eax
cmp dword [ebp + 0x5a5084], edi
jg 0x434004
mov eax, 0xffffff2e
mov dword [ebp + 0x5a5088], eax
mov dword [ebp + 0x5a508c], eax
jmp 0x434004
mov eax, dword [ebp + 0x5a5048]
cmp eax, edi
jl 0x431d38
jne 0x431c45
mov eax, dword [ebp + 0x5a5050]
mov dword [ebp + 0x5a4ef4], eax
mov esi, dword [ebp + 0x5a4eec]
movsx ecx, byte [ebp + 0x5a4f25]
shl ecx, 0x12
add esi, ecx
mov dword [ebp + 0x5a4eec], esi
mov dword [ebp + 0x5a5070], 0x46
mov dword [ebp + 0x5a4ef8], 0xffff0000
mov dword [ebp + 0x5a4fb0], 0x23
mov al, byte [0x4d6000]
test al, al
je 0x431ca7
mov eax, dword [ebp + 0x5a535c]
cmp eax, edx
mov eax, dword [0x6087b0]
mov dl, al
jne 0x431bf4
add dl, 4
sub al, 0x2c
and edx, 0xff
and eax, 0xff
mov ecx, edx
push edi
mov eax, dword [eax + 0x608a20]
mov dword [0x6087b0], ecx
mov esi, dword [ecx + 0x608a20]
push edi
xor esi, eax
and eax, 3
mov dword [ecx + 0x608a20], esi
mov ecx, dword [ebp + 0x5a4ef0]
mov eax, dword [eax*4 + 0x4ca7e0]
mov edx, dword [ebp + 0x5a4eec]
push eax
push ecx
push edx
call fcn.00478870
mov eax, dword [0x6087b0]
add esp, 0x14
mov cl, al
sub al, 0x2c
add cl, 4
and eax, 0xff
and ecx, 0xff
mov eax, dword [eax + 0x608a20]
mov dword [0x6087b0], ecx
mov esi, dword [ecx + 0x608a20]
xor esi, eax
and eax, 3
sub eax, edi
mov dword [ecx + 0x608a20], esi
je 0x431bd2
dec eax
je 0x431bc9
dec eax
jne 0x431ca7
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x19e
push edx
push eax
call fcn.00478870
add esp, 0x14
jmp 0x431ca7
push edi
push edi
push 0x1a2
jmp 0x431c2d
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x1a4
push eax
push ecx
call fcn.00478870
add esp, 0x14
jmp 0x431ca7
add dl, 4
sub al, 0x2c
and edx, 0xff
and eax, 0xff
mov ecx, edx
push edi
mov eax, dword [eax + 0x608a20]
push edi
mov esi, dword [ecx + 0x608a20]
mov dword [0x6087b0], ecx
xor esi, eax
and eax, 3
mov dword [ecx + 0x608a20], esi
mov eax, dword [eax*4 + 0x4ca7f0]
push eax
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push ecx
push edx
call fcn.00478870
add esp, 0x14
jmp 0x431ca7
mov eax, dword [ebp + 0x5a4ef0]
add eax, 0xf0000
cdq
and edx, 0x1fffff
add eax, edx
sar eax, 0x15
shl eax, 0x15
add eax, 0xf0000
mov dword [ebp + 0x5a4ef0], eax
mov eax, dword [ebp + 0x5a4eec]
add eax, 0xf0000
cdq
and edx, 0x1fffff
add eax, edx
sar eax, 0x15
shl eax, 0x15
add eax, 0xf0000
mov dword [ebp + 0x5a4eec], eax
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4ef8], edi
mov dword [ebp + 0x5a4f00], edi
mov ecx, dword [ebp + 0x5a5048]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 1
jge 0x431cc8
mov edx, 1
cmp dword [ebp + 0x5a5060], edi
jne 0x431cef
mov ecx, dword [ebp + 0x5a535c]
mov ax, word [ecx*4 + 0x54f800]
add ax, 0x1f
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], edx
cmp dword [ebp + 0x5a5068], edi
jne 0x434004
mov al, byte [ebp + 0x5a4f1c]
test al, al
jne 0x434004
mov ecx, dword [ebp + 0x5a5048]
mov eax, dword [ebp + 0x5a4ef0]
shl ecx, 8
mov edx, 0xabe0
sub edx, ecx
mov ecx, dword [ebp + 0x5a4eec]
push edx
push edi
push 0x46
push eax
push ecx
call fcn.00478870
add esp, 0x14
jmp 0x434004
mov eax, dword [ebp + 0x5a504c]
cmp eax, edi
jl 0x431f37
jne 0x431e4e
mov eax, dword [ebp + 0x5a5050]
mov dword [ebp + 0x5a4ef8], eax
cmp eax, edi
mov eax, dword [ebp + 0x5a4ef0]
jle 0x431d69
add eax, 0x80000
jmp 0x431d6e
add eax, 0xfff80000
mov esi, 0x23
mov dword [ebp + 0x5a4ef0], eax
mov dword [ebp + 0x5a5070], esi
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4fb0], esi
mov al, byte [0x4d6000]
test al, al
je 0x431ea6
cmp dword [ebp + 0x5a535c], edx
jne 0x431ea6
mov eax, dword [0x6087b0]
mov dl, al
sub al, 0x2c
add dl, 4
and eax, 0xff
and edx, 0xff
mov eax, dword [eax + 0x608a20]
mov ecx, edx
mov dword [0x6087b0], ecx
mov esi, dword [ecx + 0x608a20]
xor esi, eax
and eax, 3
sub eax, edi
mov dword [ecx + 0x608a20], esi
je 0x431e2f
dec eax
je 0x431e10
dec eax
jne 0x431ea6
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x19e
push eax
push ecx
call fcn.00478870
add esp, 0x14
jmp 0x431ea6
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x1a2
push edx
push eax
call fcn.00478870
add esp, 0x14
jmp 0x431ea6
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x1a4
push ecx
push edx
call fcn.00478870
add esp, 0x14
jmp 0x431ea6
mov eax, dword [ebp + 0x5a4eec]
cdq
and edx, 0x1fffff
add eax, edx
sar eax, 0x15
shl eax, 0x15
add eax, 0xf0000
mov dword [ebp + 0x5a4eec], eax
mov eax, dword [ebp + 0x5a4ef0]
cdq
and edx, 0x1fffff
add eax, edx
sar eax, 0x15
shl eax, 0x15
add eax, 0xf0000
mov dword [ebp + 0x5a4ef0], eax
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
mov dword [ebp + 0x5a4ef8], edi
mov dword [ebp + 0x5a4f00], edi
mov ecx, dword [ebp + 0x5a504c]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 1
jge 0x431ec7
mov edx, 1
cmp dword [ebp + 0x5a5060], edi
jne 0x431eee
mov ecx, dword [ebp + 0x5a535c]
mov ax, word [ecx*4 + 0x54f800]
add ax, 0x5c
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], edx
cmp dword [ebp + 0x5a5068], edi
jne 0x434004
mov al, byte [ebp + 0x5a4f1c]
test al, al
jne 0x434004
mov ecx, dword [ebp + 0x5a504c]
mov eax, dword [ebp + 0x5a4ef0]
shl ecx, 8
mov edx, 0xabe0
sub edx, ecx
mov ecx, dword [ebp + 0x5a4eec]
push edx
push edi
push 0x46
push eax
push ecx
call fcn.00478870
add esp, 0x14
jmp 0x434004
mov eax, dword [ebp + 0x5a5074]
cmp eax, edi
je 0x431f99
jle 0x431f46
dec eax
jmp 0x431f4b
cmp eax, edi
jge 0x431f51
inc eax
mov dword [ebp + 0x5a5074], eax
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
jne 0x431f84
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x43
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
mov dword [ebp + 0x5a5018], edi
mov dword [ebp + 0x5a5024], str.HUHA
jmp 0x434004
mov eax, dword [ebp + 0x5a4fb0]
cmp eax, edi
jle 0x432007
dec eax
xor edx, edx
mov dword [ebp + 0x5a4fb0], eax
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a535c]
mov dx, word [ebp + 0x5a4f14]
mov ecx, dword [eax*4 + 0x54f800]
add ecx, 0x43
cmp edx, ecx
je 0x431ff2
cmp dword [ebp + 0x5a5060], edi
jne 0x431ff2
mov ax, word [eax*4 + 0x54f800]
add ax, 0x43
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
mov dword [ebp + 0x5a5018], edi
mov dword [ebp + 0x5a5024], 0x4ca800
jmp 0x434004
cmp dword [ebp + 0x5a53a0], edi
je 0x432188
mov ecx, dword [ebp + 0x5a4ef4]
mov eax, ecx
cdq
and edx, 0x7fff
add eax, edx
sar eax, 0xf
cmp eax, edi
jg 0x43203b
mov eax, ecx
cdq
and edx, 0x7fff
add eax, edx
sar eax, 0xf
neg eax
mov ecx, 0xa
sub ecx, eax
cmp ecx, 4
jge 0x43204c
mov ecx, 4
mov eax, dword [ebp + 0x5a4ef8]
cmp eax, 0xfffe0000
jge 0x4320d5
mov edx, dword [ebp + 0x5a535c]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
mov esi, dword [edx*4 + 0x54f800]
lea ebx, [esi + 0x55]
cmp eax, ebx
je 0x4320ab
add esi, 0x54
cmp eax, esi
je 0x4320ab
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov cx, word [edx*4 + 0x54f800]
add cx, 0x54
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 7
jmp 0x4325af
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov dx, word [edx*4 + 0x54f800]
add dx, 0x55
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
cmp eax, 0x20000
jle 0x432158
mov edx, dword [ebp + 0x5a535c]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
mov esi, dword [edx*4 + 0x54f800]
lea ebx, [esi + 0x51]
cmp eax, ebx
je 0x43212e
add esi, 0x53
cmp eax, esi
je 0x43212e
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ax, word [edx*4 + 0x54f800]
add ax, 0x53
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 7
jmp 0x4325af
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov dx, word [edx*4 + 0x54f800]
add dx, 0x51
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov dx, word [eax*4 + 0x54f800]
add dx, 0x52
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
cmp dword [ebp + 0x5a4f7c], edi
je 0x43227c
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a4f7c]
mov edx, dword [0x58a8a0]
shl eax, 7
add eax, edx
mov ecx, dword [eax + 0xc]
mov dword [ebp + 0x5a4eec], ecx
mov edx, dword [eax + 0x10]
mov dword [ebp + 0x5a4ef0], edx
mov ecx, dword [eax + 0x14]
mov dword [ebp + 0x5a4ef4], ecx
mov edx, dword [eax + 0x18]
mov dword [ebp + 0x5a4ef8], edx
mov ecx, dword [eax + 0x5c]
cmp ecx, edi
jge 0x432223
mov byte [ebp + 0x5a4f25], 0xff
mov edx, dword [eax + 0x50]
mov ecx, 0x100
mov eax, 0x51eb851f
sub ecx, edx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
jns 0x4321fe
xor edx, edx
jmp 0x432208
cmp edx, 0xa
jle 0x432208
mov edx, 0xa
mov ecx, dword [ebp + 0x5a535c]
mov ax, word [ecx*4 + 0x54f800]
add ax, 0x56
mov word [ebp + 0x5a4f14], ax
jmp 0x432267
mov byte [ebp + 0x5a4f25], 1
mov ecx, dword [eax + 0x50]
mov eax, 0x51eb851f
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jns 0x432244
xor edx, edx
jmp 0x43224e
cmp edx, 0xa
jle 0x43224e
mov edx, 0xa
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x56
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], dl
jmp 0x433ff8
cmp dword [ebp + 0x5a4f68], edi
je 0x43244a
cmp dword [ebp + 0x5a4fd8], edi
je 0x432298
cmp dword [ebp + 0x5a4ef8], edi
jle 0x43229e
mov dword [ebp + 0x5a4fa8], edi
mov eax, dword [ebp + 0x5a4f68]
cmp eax, 1
jle 0x4323df
mov eax, dword [ebp + 0x5a501c]
mov ecx, dword [ebp + 0x5a5024]
lea esi, [eax + 0x19]
cmp ecx, esi
jge 0x432370
mov edx, dword [ebp + 0x5a502c]
cmp edx, 8
lea edx, [eax + 0xa]
jne 0x432318
cmp ecx, edx
jle 0x4322e1
mov dword [ebp + 0x5a5060], edi
jmp 0x4328bd
mov ecx, dword [ebp + 0x5a5060]
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x17
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x4325af
cmp ecx, edx
jle 0x432339
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x1a
jmp 0x433d7c
mov ecx, dword [ebp + 0x5a5060]
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x1b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x4325af
mov ecx, dword [ebp + 0x5a535c]
cmp ecx, edx
jne 0x432394
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [0x54f954]
add edx, 0x19
jmp 0x432a16
mov eax, dword [ebp + 0x5a5004]
mov esi, 0x8c
cdq
idiv esi
mov eax, dword [ebp + 0x5a5060]
cmp edx, 0x46
jle 0x4323c6
cmp eax, edi
jne 0x434004
mov ax, word [ecx*4 + 0x54f800]
add ax, 0x19
jmp 0x4329a9
cmp eax, edi
jne 0x434004
mov cx, word [ecx*4 + 0x54f800]
add cx, 0x18
jmp 0x4329ec
cmp eax, 0xffffffff
jne 0x432405
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
inc ax
jmp 0x433a2c
mov eax, dword [ebp + 0x5a501c]
mov ecx, dword [ebp + 0x5a5024]
lea edx, [eax + 0x14]
cmp ecx, edx
jge 0x433ca4
lea edx, [eax + 0xa]
cmp ecx, edx
jle 0x433c6d
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x1d
jmp 0x433d7c
mov eax, dword [ebp + 0x5a4f98]
cmp eax, edi
je 0x432539
mov ecx, dword [ebp + 0x5a535c]
cmp ecx, 0x36
jne 0x4324ca
cmp eax, 0x1c
jge 0x432496
mov ecx, dword [0x54f8d8]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, 0x4f
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], al
jmp 0x433ff8
cmp eax, 0x46
jge 0x434004
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [0x54f8d8]
add edx, 0x4d
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 4
jmp 0x434004
cmp ecx, edx
jne 0x434004
cmp eax, 0x1c
jge 0x432505
mov ecx, dword [0x54f954]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, 0x4f
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], al
jmp 0x433ff8
cmp eax, 0x46
jge 0x434004
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [0x54f954]
add edx, 0x4d
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 4
jmp 0x434004
mov eax, dword [ebp + 0x5a507c]
cmp eax, edi
je 0x4325cb
cmp eax, 0x8000
mov eax, dword [ebp + 0x5a5060]
jl 0x432584
cmp eax, edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x2c
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0xc
jmp 0x434004
cmp eax, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x2d
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
jmp 0x434004
cmp dword [ebp + 0x5a4fec], edi
je 0x432707
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
mov ecx, eax
jg 0x4325e5
neg ecx
cmp ecx, 0x10000
jle 0x432707
cmp eax, edi
jg 0x4325f7
neg eax
cdq
and edx, 0xffff
mov ecx, 0xb
add eax, edx
sar eax, 0x10
sub ecx, eax
mov eax, dword [ebp + 0x5a5398]
cmp eax, edi
mov dword [ebp + 0x5a5064], ecx
je 0x43264e
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x37
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 6
jmp 0x434004
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
mov edx, eax
jg 0x43265c
neg edx
cmp edx, 0x80000
jl 0x43269c
cmp dword [ebp + 0x5a4f50], edi
je 0x43269c
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov dx, word [eax*4 + 0x54f800]
add dx, 0x47
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
cmp eax, edi
jg 0x4326a2
neg eax
cmp eax, 0x40000
mov eax, dword [ebp + 0x5a5060]
jle 0x4326db
cmp eax, edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov dx, word [eax*4 + 0x54f800]
add dx, 0x46
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
cmp eax, edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov dx, word [eax*4 + 0x54f800]
add dx, 0x44
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x434004
mov ecx, dword [ebp + 0x5a4ef8]
cmp ecx, edi
jle 0x432719
cmp dword [ebp + 0x5a4fb4], edi
jne 0x432725
cmp dword [ebp + 0x5a4fb8], edi
je 0x432882
mov eax, dword [ebp + 0x5a5000]
cmp eax, edi
jle 0x432739
cmp dword [ebp + 0x5a4fe4], edi
je 0x43274b
cmp eax, edi
jge 0x432877
cmp dword [ebp + 0x5a4fe0], edi
jne 0x432877
cmp dword [ebp + 0x5a4fb8], edi
jne 0x4327bc
mov ecx, dword [ebp + 0x5a4fb4]
mov eax, dword [ebp + 0x5a4ef0]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
mov dword [ebp + 0x5a4fb8], edx
jne 0x4327bc
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x14
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 3
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov eax, dword [ebp + 0x5a4f84]
mov ecx, dword [ebp + 0x5a4fb8]
mov dword [ebp + 0x5a4ef4], edi
add eax, ecx
mov dword [ebp + 0x5a4ef8], edi
mov dword [ebp + 0x5a4ef0], eax
movsx eax, byte [ebp + 0x5a4f25]
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*4]
mov eax, 0x66666667
shl ecx, 0x11
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [ebp + 0x5a4eec]
add eax, edx
xor edx, edx
mov dword [ebp + 0x5a4eec], eax
mov eax, dword [ebp + 0x5a535c]
mov dx, word [ebp + 0x5a4f14]
mov ecx, dword [eax*4 + 0x54f800]
add ecx, 0x14
cmp edx, ecx
jne 0x434004
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ax, word [eax*4 + 0x54f800]
mov dword [ebp + 0x5a4fb8], edi
add ax, 0x4c
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
jmp 0x434004
mov dword [ebp + 0x5a4fb8], edi
jmp 0x434004
cmp dword [ebp + 0x5a4f78], edi
je 0x432b06
mov eax, dword [ebp + 0x5a501c]
mov ecx, dword [ebp + 0x5a5024]
lea esi, [eax + 0x19]
cmp ecx, esi
jge 0x43297d
lea edx, [eax + 0xa]
cmp ecx, edx
jle 0x4328fc
mov eax, dword [ebp + 0x5a502c]
mov dword [ebp + 0x5a5060], edi
cmp eax, 8
jne 0x4328d4
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x15
jmp 0x433d7c
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x1a
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 5
jmp 0x434004
cmp dword [ebp + 0x5a502c], 8
cdq
jne 0x432928
mov ecx, dword [ebp + 0x5a5060]
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x43296c
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x17
jmp 0x432948
mov ecx, dword [ebp + 0x5a5060]
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x43296c
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x1b
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov dword [ebp + 0x5a4ef4], edi
mov dword [ebp + 0x5a4efc], edi
jmp 0x434004
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
jne 0x432a2c
mov ecx, dword [ebp + 0x5a535c]
cmp ecx, edx
jne 0x4329bf
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [0x54f954]
add eax, 0x19
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 7
jmp 0x434004
mov eax, dword [ebp + 0x5a5004]
mov esi, 0x8c
cdq
idiv esi
mov eax, dword [ebp + 0x5a5060]
cmp edx, 0x46
jle 0x432a02
cmp eax, edi
jne 0x434004
mov cx, word [ecx*4 + 0x54f800]
add cx, 0x19
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 7
jmp 0x434004
cmp eax, edi
jne 0x434004
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x18
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 7
jmp 0x434004
cmp eax, 0x10000
jl 0x432a57
movsx eax, byte [ebp + 0x5a4f1c]
shl eax, 6
and eax, 0x3ff
mov ecx, dword [eax*4 + 0x4ca918]
add ecx, 0x10000
mov dword [ebp + 0x5a4ef4], ecx
jmp 0x432a80
cmp eax, 0xffff0000
jg 0x432a80
movsx edx, byte [ebp + 0x5a4f1c]
shl edx, 6
and edx, 0x3ff
mov eax, 0xffff0000
sub eax, dword [edx*4 + 0x4ca918]
mov dword [ebp + 0x5a4ef4], eax
cmp dword [ebp + 0x5a4f50], edi
je 0x432a96
mov ecx, dword [ebp + 0x5a4ef4]
shl ecx, 1
mov dword [ebp + 0x5a4ef4], ecx
cmp dword [ebp + 0x5a5060], edi
jne 0x432ac1
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0xb
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
cmp dword [ebp + 0x5a5068], edi
jne 0x434004
mov al, byte [ebp + 0x5a4f1c]
cmp al, 2
je 0x432adf
cmp al, 7
jne 0x434004
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push 0x1f40
push 0x14
push 0xa5
push ecx
push edx
call fcn.00478870
add esp, 0x14
jmp 0x434004
cmp dword [ebp + 0x5a4fa8], edi
je 0x432b9a
mov dword [ebp + 0x5a5004], edi
mov eax, dword [ebp + 0x5a4fd8]
cmp eax, edi
je 0x432b2e
cmp dword [ebp + 0x5a4ef8], 0xffff0000
jle 0x432b34
mov dword [ebp + 0x5a4fa8], edi
mov eax, dword [ebp + 0x5a501c]
mov ecx, dword [ebp + 0x5a5024]
lea edx, [eax + 0x14]
cmp ecx, edx
jl 0x433d57
mov eax, dword [ebp + 0x5a4ef8]
cdq
and edx, 0xffff
add eax, edx
sar eax, 0x10
add eax, 0xa
cmp eax, 1
jge 0x432b6a
mov eax, 1
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x4b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
mov eax, dword [ebp + 0x5a4fdc]
cmp eax, edi
jne 0x433afe
cmp ecx, edi
jne 0x433af6
mov esi, dword [ebp + 0x5a501c]
mov dword [ebp + 0x5a4f64], edi
mov eax, dword [ebp + 0x5a5024]
mov edx, 8
lea ebx, [esi + 0xa]
cmp eax, ebx
jle 0x432e4e
cmp dword [ebp + 0x5a4f8c], 0x20000
jle 0x432c79
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
jg 0x432bee
neg eax
cmp eax, 0x8000
jge 0x432c79
mov eax, dword [ebp + 0x5a4fa4]
mov dword [ebp + 0x5a5004], edi
cmp eax, edx
mov eax, dword [ebp + 0x5a5060]
jge 0x432c38
cmp eax, edi
jne 0x432c79
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 3
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 4
jmp 0x432c5f
cmp eax, edi
jne 0x432c79
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0xf
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 2
mov byte [ebp + 0x5a4f1c], 0
mov ecx, 1
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], ecx
jmp 0x432c7e
mov ecx, 1
mov eax, dword [ebp + 0x5a5000]
cmp eax, edi
jle 0x432c9a
cmp dword [ebp + 0x5a4fe4], edi
je 0x432cac
cmp dword [ebp + 0x5a4f4c], edi
jne 0x432cac
cmp eax, edi
jge 0x432ce7
cmp dword [ebp + 0x5a4fe0], edi
je 0x432cac
cmp dword [ebp + 0x5a4f4c], edi
je 0x432ce7
mov eax, dword [ebp + 0x5a4f44]
inc eax
cmp eax, 0x10
mov dword [ebp + 0x5a4f44], eax
jle 0x432ced
cmp dword [ebp + 0x5a5060], edi
jne 0x432ced
mov eax, dword [ebp + 0x5a535c]
mov ax, word [eax*4 + 0x54f800]
add ax, 0x38
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], edx
jmp 0x432ced
mov dword [ebp + 0x5a4f44], edi
cmp dword [ebp + 0x5a4efc], edi
jne 0x432e15
cmp dword [ebp + 0x5a5398], edi
jne 0x432e15
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
jg 0x432d11
neg eax
cmp eax, 0xffff
mov eax, dword [ebp + 0x5a4f40]
jle 0x432da7
cmp eax, edi
jne 0x432d70
cmp dword [ebp + 0x5a5060], edi
jne 0x432d9b
mov edx, dword [ebp + 0x5a535c]
mov dx, word [edx*4 + 0x54f800]
add dx, 0x49
inc eax
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 3
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], ecx
mov dword [ebp + 0x5a4f40], eax
jmp 0x432f9f
cmp dword [ebp + 0x5a5060], edi
jne 0x432d9b
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x48
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 6
inc eax
mov dword [ebp + 0x5a4f40], eax
jmp 0x432f9f
cmp eax, 0x14
jle 0x432e0a
mov eax, dword [ebp + 0x5a535c]
mov edx, dword [eax*4 + 0x54f800]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
add edx, 0x48
cmp eax, edx
jne 0x432e0a
mov dword [ebp + 0x5a5060], edi
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x4a
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 3
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], ecx
jmp 0x432f9f
mov dword [ebp + 0x5a4f40], edi
jmp 0x432f9f
mov ecx, dword [ebp + 0x5a535c]
mov dword [ebp + 0x5a4f40], edi
xor eax, eax
mov ecx, dword [ecx*4 + 0x54f800]
mov ax, word [ebp + 0x5a4f14]
lea edx, [ecx + 0x49]
cmp eax, edx
je 0x432e43
add ecx, 0x4a
cmp eax, ecx
jne 0x432f9f
mov dword [ebp + 0x5a5060], edi
jmp 0x432f9f
mov eax, dword [ebp + 0x5a535c]
mov dword [ebp + 0x5a4f40], edi
mov ecx, dword [eax*4 + 0x54f800]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
lea edx, [ecx + 3]
cmp eax, edx
je 0x432e86
lea edx, [ecx + 0xf]
cmp eax, edx
je 0x432e86
lea edx, [ecx + 0x49]
cmp eax, edx
je 0x432e86
add ecx, 0x4a
cmp eax, ecx
jne 0x432e8c
mov dword [ebp + 0x5a5060], edi
mov ecx, dword [ebp + 0x5a4ef4]
cmp ecx, edi
je 0x432f49
mov eax, ecx
jg 0x432ea0
neg eax
cdq
and edx, 0xffff
add edx, eax
mov eax, 0xb
sar edx, 0x10
sub eax, edx
mov edx, dword [ebp + 0x5a5398]
cmp edx, edi
je 0x432ee7
cmp dword [ebp + 0x5a5060], edi
jne 0x432f9f
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x37
mov word [ebp + 0x5a4f14], cx
jmp 0x432f95
cmp ecx, edi
jg 0x432eed
neg ecx
cmp ecx, 0x40000
mov ecx, dword [ebp + 0x5a5060]
jle 0x432f24
cmp ecx, edi
jne 0x432f9f
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x46
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x432f9f
cmp ecx, edi
jne 0x432f9f
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x44
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x432f9f
mov eax, dword [ebp + 0x5a5398]
cmp eax, edi
mov eax, dword [ebp + 0x5a5060]
je 0x432f78
cmp eax, edi
jne 0x432f9f
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x50
mov word [ebp + 0x5a4f14], ax
jmp 0x432f95
cmp eax, edi
jne 0x432f9f
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x4c
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 6
mov edx, dword [ebp + 0x5a4ffc]
cmp edx, edi
jle 0x432fcb
cmp dword [ebp + 0x5a4efc], edi
jne 0x432fcb
mov eax, dword [ebp + 0x5a4f5c]
inc eax
mov dword [ebp + 0x5a4f5c], eax
mov eax, dword [0x58a5a0]
mov dword [ebp + 0x5a4f60], eax
jmp 0x432fd1
mov dword [ebp + 0x5a4f5c], edi
cmp dword [ebp + 0x5a4f5c], 4
jle 0x4330df
cmp dword [ebp + 0x5a4fa0], 0x55
jle 0x4330df
mov edx, dword [ebp + 0x5a4f6c]
inc edx
mov dword [ebp + 0x5a4f6c], edx
mov ecx, dword [0x58a5a0]
mov eax, edx
mov dword [ebp + 0x5a4f70], ecx
cmp eax, 0x1e
jle 0x433026
mov eax, dword [ebp + 0x5a4f74]
cmp eax, edi
jge 0x43301a
add eax, 3
jmp 0x433020
cmp eax, 0x3c
jge 0x433026
inc eax
mov dword [ebp + 0x5a4f74], eax
mov eax, dword [ebp + 0x5a5024]
lea edx, [esi + 0xf]
cmp eax, edx
jge 0x4330a4
cmp eax, ebx
jle 0x43306b
cmp dword [ebp + 0x5a5060], edi
jne 0x433916
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 7
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
jmp 0x433918
mov ecx, dword [ebp + 0x5a5060]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x433916
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 8
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x433918
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 6
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], 1
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
jmp 0x433918
cmp dword [ebp + 0x5a4ef4], edi
jne 0x4346d6
mov ecx, dword [ebp + 0x5a5024]
lea eax, [esi + 0x1e]
cmp ecx, eax
jge 0x4331ff
mov eax, dword [ebp + 0x5a502c]
cmp eax, edi
jne 0x433177
cmp ecx, ebx
jle 0x43313e
cmp dword [ebp + 0x5a5060], edi
jne 0x433916
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x39
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 5
jmp 0x433918
mov ecx, dword [ebp + 0x5a5060]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x433916
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x10
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
jmp 0x433918
cmp eax, 8
jne 0x433916
cmp ecx, ebx
jle 0x4331b1
cmp dword [ebp + 0x5a5060], edi
jne 0x4331e1
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x12
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
jmp 0x4331e1
mov ecx, dword [ebp + 0x5a5060]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x4331e1
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x11
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
mov eax, dword [ebp + 0x5a4f6c]
inc eax
mov dword [ebp + 0x5a4f6c], eax
mov edx, dword [0x58a5a0]
mov dword [ebp + 0x5a4f70], edx
jmp 0x433918
cmp dword [ebp + 0x5a5398], edi
je 0x43323b
cmp dword [ebp + 0x5a5060], edi
jne 0x433916
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x50
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 7
jmp 0x433918
mov eax, dword [ebp + 0x5a4f54]
cmp eax, edi
jle 0x433341
cmp dword [ebp + 0x5a5060], edi
jne 0x433274
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x4c
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
cmp eax, 1
jne 0x4332b7
cmp dword [ebp + 0x5a5060], edi
jne 0x4332b7
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x3a
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 4
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], eax
cmp eax, 0x23
jle 0x4332ec
movsx eax, byte [ebp + 0x5a4f25]
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, eax
neg edx
push edx
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x5a4eec]
add ecx, 0x160000
shl edx, 0x11
sub eax, edx
push ecx
push eax
call fcn.0046f790
add esp, 0xc
mov eax, dword [ebp + 0x5a4f54]
cmp eax, 0xf
jle 0x433916
cdq
and edx, 7
add eax, edx
mov ecx, eax
mov eax, 0xa
sar ecx, 3
sub eax, ecx
cmp eax, 2
jge 0x433317
mov eax, 1
mov dword [ebp + 0x5a5060], edi
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x3b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x433918
mov eax, dword [ebp + 0x5a4fbc]
cmp eax, edi
jle 0x4334ca
mov dword [ebp + 0x5a5004], edi
mov dx, word [ebp + 0x5a4f14]
mov esi, edx
lea ecx, [eax + 1]
and esi, 0xffff
xor eax, eax
mov dword [ebp + 0x5a4fbc], ecx
mov ax, word [esi*8 + 0x54f9c0]
lea eax, [eax + eax*4]
cmp ecx, eax
jle 0x433423
mov eax, dword [ebp + 0x5a535c]
cmp eax, 0x55
jne 0x4333de
mov eax, dword [ebp + 0x5a5060]
mov dword [ebp + 0x5a4fbc], edi
cmp eax, edi
jne 0x433472
mov ecx, dword [0x54f954]
add ecx, 0x2b
cmp dx, cx
je 0x433468
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x2b
mov word [ebp + 0x5a4f14], ax
jmp 0x433468
cmp dword [ebp + 0x5a5060], edi
jne 0x433472
mov cx, word [eax*4 + 0x54f800]
add cx, 0x4c
cmp dx, cx
je 0x433468
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x4c
mov word [ebp + 0x5a4f14], ax
jmp 0x433468
cmp dword [ebp + 0x5a5060], edi
jne 0x433472
mov ecx, dword [ebp + 0x5a535c]
mov ax, word [ecx*4 + 0x54f800]
add ax, 0x2b
cmp dx, ax
je 0x433468
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x2b
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 5
cmp dword [ebp + 0x5a5068], edi
jne 0x433916
cmp byte [ebp + 0x5a4f1c], 1
jne 0x433916
mov ecx, dword [0x54f8d8]
xor eax, eax
mov ax, word [ebp + 0x5a4f14]
add ecx, 0x2b
cmp eax, ecx
jne 0x4334ad
push edi
push edi
push 0x10a
jmp 0x4344c6
mov ecx, dword [0x54f954]
add ecx, 0x2b
cmp eax, ecx
jne 0x433916
push edi
push edi
push 0x1a4
jmp 0x4344c6
mov eax, dword [ebp + 0x5a535c]
cmp eax, 0x36
jne 0x43377c
cmp dword [ebp + 0x5a5004], 0xd2
jle 0x43377c
mov ecx, dword [ebp + 0x5a5008]
mov edx, dword [0x54f8d8]
xor eax, eax
add ecx, edx
mov ax, word [ebp + 0x5a4f14]
mov ebx, 7
cmp eax, ecx
jne 0x433551
cmp dword [ebp + 0x5a5060], edi
jne 0x433549
mov dword [ebp + 0x5a5004], 0x46
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x4c
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 8
jmp 0x433693
cmp eax, ecx
je 0x433693
mov dword [ebp + 0x5a5060], edi
mov eax, dword [0x6087b0]
mov dl, al
sub al, 0x2c
add dl, 4
and eax, 0xff
and edx, 0xff
mov eax, dword [eax + 0x608a20]
mov ecx, edx
mov dword [0x6087b0], ecx
mov edx, dword [ecx + 0x608a20]
xor edx, eax
and eax, 0x7fff
mov dword [ecx + 0x608a20], edx
xor edx, edx
mov ecx, 5
div ecx
cmp edx, 3
ja case.default.0x43359d
jmp dword [edx*4 + 0x4346f0]
mov dword [ebp + 0x5a5008], 0x24
jmp 0x4335de
mov dword [ebp + 0x5a5008], 0x22
jmp 0x4335de
mov dword [ebp + 0x5a5008], 0x23
jmp 0x4335de
mov dword [ebp + 0x5a5008], 0x25
jmp 0x4335de
mov dword [ebp + 0x5a5008], 0x21
mov eax, dword [ebp + 0x5a5008]
cmp eax, 0x21
jne 0x433656
mov eax, dword [0x6087b0]
mov dl, al
sub al, 0x2c
add dl, 4
and eax, 0xff
and edx, 0xff
mov eax, dword [eax + 0x608a20]
mov ecx, edx
mov dword [0x6087b0], ecx
mov esi, dword [ecx + 0x608a20]
xor esi, eax
mov dword [ecx + 0x608a20], esi
mov edx, dword [ebp + 0x5a5060]
mov ecx, dword [ebp + 0x5a5008]
cmp edx, edi
jne 0x433693
mov edx, dword [ebp + 0x5a535c]
and eax, 3
mov dx, word [edx*4 + 0x54f800]
add dx, cx
mov ecx, 8
sub ecx, eax
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x43367c
cmp dword [ebp + 0x5a5060], edi
jne 0x433693
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, ax
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], ebx
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov eax, dword [ebp + 0x5a5068]
mov ecx, dword [0x54f8d8]
cmp eax, edi
jne 0x433705
xor esi, esi
lea edx, [ecx + 0x22]
mov si, word [ebp + 0x5a4f14]
cmp esi, edx
jne 0x433705
mov al, byte [ebp + 0x5a4f1c]
cmp al, bl
jne 0x4336c9
push edi
push edi
push 0xac
jmp 0x4344a6
cmp al, 0xd
je 0x4336fc
cmp al, 0x15
je 0x4336fc
cmp al, 0x1a
jne 0x4336de
push edi
push edi
push 0x5b
jmp 0x4344c6
cmp al, 0x1f
jne 0x4336eb
push edi
push edi
push 0x54
jmp 0x434502
cmp al, 0x24
jne 0x433916
push edi
push edi
push 0x7b
jmp 0x4344a6
push edi
push edi
push 0x59
jmp 0x4344c6
cmp eax, edi
jne 0x433916
xor esi, esi
lea edx, [ecx + 0x23]
mov si, word [ebp + 0x5a4f14]
cmp esi, edx
jne 0x433747
mov al, byte [ebp + 0x5a4f1c]
cmp al, 3
jne 0x433733
push edi
push edi
push 0x10c
jmp 0x4344a6
cmp al, 0xb
jne 0x433916
push edi
push edi
push 0x10f
jmp 0x4344c6
cmp eax, edi
jne 0x433916
xor edx, edx
add ecx, 0x24
mov dx, word [ebp + 0x5a4f14]
cmp edx, ecx
jne 0x433916
cmp byte [ebp + 0x5a4f1c], 3
jne 0x433916
push edi
push edi
push 0x115
jmp 0x4344a6
cmp eax, 0x55
jne 0x43451d
cmp dword [ebp + 0x5a5004], 0x8c
jle 0x4343ed
mov ecx, dword [ebp + 0x5a5008]
mov edx, dword [0x54f954]
xor eax, eax
add edx, ecx
mov ax, word [ebp + 0x5a4f14]
cmp eax, edx
jne 0x4337d3
cmp dword [ebp + 0x5a5060], edi
jne 0x4337d3
mov dword [ebp + 0x5a5004], 1
mov dword [ebp + 0x5a5060], edi
mov eax, dword [ebp + 0x5a535c]
jmp 0x4346b4
mov esi, 0x23
cmp ecx, esi
jne 0x4341db
mov byte [ebp + 0x5a4f25], 1
mov esi, dword [ebp + 0x5a5004]
cmp esi, 0x15e
jge 0x43410f
mov ebx, dword [0x58a5a0]
mov eax, dword [0x54f958]
mov edx, ebx
xor edi, edi
mov ecx, dword [eax*8 + 0x54f9d4]
mov eax, 0x30c30c31
shr edx, 3
and edx, 7
mov di, word [ecx + edx*2]
mov ecx, 0x8c
sub ecx, esi
add esi, 0x74
shl ecx, 0x14
imul ecx
sar edx, 2
mov eax, edx
and esi, 0x3ff
shr eax, 0x1f
add edx, eax
mov eax, dword [esi*4 + 0x4ca918]
mov esi, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
lea eax, [eax + eax*4]
lea edx, [edx + ecx + 0xb40000]
lea eax, [eax + eax*4]
mov dword [esp + 0x14], edx
shl eax, 2
sub esi, eax
add esi, 0x100000
test bl, 3
jne 0x4338bd
mov eax, dword [0x6087b0]
mov cl, al
sub al, 0x2c
add cl, 4
and eax, 0xff
and ecx, 0xff
mov eax, dword [eax + 0x608a20]
mov dword [0x6087b0], ecx
mov edx, dword [ecx + 0x608a20]
xor edx, eax
test al, 0xf
mov dword [ecx + 0x608a20], edx
jne 0x4338bd
mov edx, dword [esp + 0x14]
push 0
push 0
push 0x198
push esi
push edx
call fcn.00478870
add esp, 0x14
mov eax, dword [esp + 0x14]
push edi
xor edi, edi
push edi
push edi
push 1
push 3
push esi
push eax
call fcn.0045f6e0
mov eax, dword [ebp + 0x5a5004]
add esp, 0x1c
cmp eax, 0x118
mov dword [ebp + 0x5a500c], eax
jge 0x4340bd
cmp dword [ebp + 0x5a5060], edi
jne 0x433916
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x21
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 8
xor edi, edi
mov eax, dword [ebp + 0x5a4f54]
cmp eax, 0xfffffc18
jge 0x433977
cmp dword [ebp + 0x5a5060], edi
jne 0x433967
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x3c
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 2
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
add eax, 0x3e8
mov dword [ebp + 0x5a4f54], eax
jmp 0x434004
mov ecx, dword [ebp + 0x5a4ef4]
cmp ecx, edi
mov eax, ecx
jg 0x433985
neg eax
cmp eax, 0x4000
jle 0x434004
cmp dword [ebp + 0x5a4efc], edi
je 0x434004
cmp ecx, edi
mov eax, ecx
jg 0x4339a4
neg eax
cdq
and edx, 0xffff
add edx, eax
mov eax, 0xb
sar edx, 0x10
sub eax, edx
mov edx, dword [ebp + 0x5a4f4c]
cmp edx, edi
je 0x4339da
mov edx, dword [ebp + 0x5a4f44]
inc edx
mov dword [ebp + 0x5a4f44], edx
mov edx, dword [0x58a5a0]
mov dword [ebp + 0x5a4f48], edx
cmp dword [ebp + 0x5a4f44], 0x10
jle 0x433a06
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x38
jmp 0x433f46
cmp dword [ebp + 0x5a5398], edi
je 0x433a42
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x37
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 6
jmp 0x434004
cmp ecx, edi
mov edx, ecx
jg 0x433a4a
neg edx
cmp edx, 0x80000
jl 0x433a8a
cmp dword [ebp + 0x5a4f50], edi
je 0x433a8a
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x47
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
cmp ecx, edi
jg 0x433a90
neg ecx
cmp ecx, 0x40000
mov ecx, dword [ebp + 0x5a5060]
jle 0x433aca
cmp ecx, edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x46
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
cmp ecx, edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x44
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
cmp eax, edi
je 0x434004
cmp ecx, edi
mov dword [ebp + 0x5a4f5c], edi
jle 0x433d44
mov eax, dword [ebp + 0x5a4fa0]
cmp eax, edi
jl 0x433c25
cmp eax, 0x32
jge 0x433c25
cmp eax, 4
jle 0x433b68
mov ecx, dword [ebp + 0x5a4f74]
cmp ecx, edi
jge 0x433b37
add ecx, 6
jmp 0x433b49
cmp ecx, 0x14
jge 0x433b41
add ecx, 4
jmp 0x433b49
cmp ecx, 0x3c
jge 0x433b4f
add ecx, 2
mov dword [ebp + 0x5a4f74], ecx
mov ecx, dword [ebp + 0x5a4f6c]
inc ecx
mov dword [ebp + 0x5a4f6c], ecx
mov ecx, dword [0x58a5a0]
mov dword [ebp + 0x5a4f70], ecx
cmp eax, 0x28
jge 0x433bb7
cdq
and edx, 0xf
add edx, eax
mov eax, 5
sar edx, 4
sub eax, edx
cmp eax, 1
jge 0x433b87
mov eax, 1
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x4b
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
jne 0x433bd8
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push 0x8133
push 0x20
push 0x53
push eax
push ecx
call fcn.00478870
add esp, 0x14
mov eax, dword [ebp + 0x5a4fa0]
sub eax, 0x28
cdq
and edx, 7
add eax, edx
sar eax, 3
inc eax
cmp eax, 4
jle 0x433bf5
mov eax, 4
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0xe
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
mov eax, dword [ebp + 0x5a4f64]
mov ecx, dword [ebp + 0x5a5024]
cmp eax, edi
mov eax, dword [ebp + 0x5a501c]
lea edx, [eax + 0x14]
je 0x433cd8
cmp ecx, edx
jge 0x433ca4
cmp ecx, eax
jle 0x433c6d
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x1d
jmp 0x433d7c
mov ecx, dword [ebp + 0x5a5060]
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x1e
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x1c
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 4
jmp 0x434004
cmp ecx, edx
jl 0x433d57
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
jg 0x433ce8
neg eax
cmp eax, 0x10000
mov eax, dword [ebp + 0x5a5060]
jge 0x433d25
cmp eax, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0xd
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 8
jmp 0x434004
cmp eax, edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x3d
jmp 0x433f0a
mov eax, dword [ebp + 0x5a501c]
mov ecx, dword [ebp + 0x5a5024]
lea esi, [eax + 0x14]
cmp ecx, esi
jge 0x433dc9
lea edx, [eax + 0xa]
cmp ecx, edx
jle 0x433d92
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x26
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 5
jmp 0x434004
mov ecx, dword [ebp + 0x5a5060]
cdq
sub eax, edx
sar eax, 1
cmp ecx, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov cx, word [edx*4 + 0x54f800]
add cx, 0x27
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], eax
jmp 0x434004
mov eax, dword [ebp + 0x5a4ef4]
cmp eax, edi
mov ecx, eax
jg 0x433dd7
neg ecx
cmp ecx, 0x8000
jge 0x433e3e
mov eax, dword [ebp + 0x5a4f94]
cmp eax, edi
mov eax, dword [ebp + 0x5a5060]
je 0x433e1f
cmp eax, edi
jne 0x434004
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x4b
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 3
jmp 0x434004
cmp eax, edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x2a
jmp 0x433f0a
cmp eax, edi
jg 0x433e44
neg eax
cmp eax, 0x80000
jle 0x433f20
cmp dword [ebp + 0x5a4f50], edi
je 0x433f20
mov eax, dword [ebp + 0x5a535c]
xor esi, esi
mov si, word [ebp + 0x5a4f14]
mov ecx, dword [eax*4 + 0x54f800]
add ecx, 0x43
cmp esi, ecx
je 0x433eec
cmp eax, edx
jne 0x433eec
mov eax, dword [0x6087b0]
mov dl, al
add al, 4
sub dl, 0x2c
and eax, 0xff
and edx, 0xff
mov dword [0x6087b0], eax
mov esi, dword [eax + 0x608a20]
mov ecx, edx
mov ecx, dword [ecx + 0x608a20]
xor esi, ecx
and ecx, 3
sub ecx, edi
mov dword [eax + 0x608a20], esi
je 0x433ecf
dec ecx
jne 0x433eec
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x1a2
push eax
push ecx
jmp 0x433ee4
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x1a4
push edx
push eax
call fcn.00478870
add esp, 0x14
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x43
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 8
jmp 0x434004
cmp dword [ebp + 0x5a4f94], edi
je 0x433f5c
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov eax, dword [ebp + 0x5a535c]
mov cx, word [eax*4 + 0x54f800]
add cx, 0x4b
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 8
jmp 0x434004
mov eax, dword [ebp + 0x5a535c]
xor ecx, ecx
mov cx, word [ebp + 0x5a4f14]
mov edx, dword [eax*4 + 0x54f800]
add edx, 0x3f
cmp ecx, edx
je 0x433f9f
mov dx, word [eax*4 + 0x54f800]
add dx, 0x3f
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], 0
jmp 0x433ff8
mov cl, byte [ebp + 0x5a4f1c]
mov ebx, 7
cmp cl, bl
jge 0x433fd5
cmp dword [ebp + 0x5a5060], edi
jne 0x434004
mov ax, word [eax*4 + 0x54f800]
add ax, 0x3f
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 1
jmp 0x434004
mov cx, word [eax*4 + 0x54f800]
add cx, 0x3f
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], bl
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
mov edx, dword [0x58a5a0]
mov eax, dword [ebp + 0x5a4f70]
add edx, 0xfffffffe
cmp eax, edx
jae 0x43401d
mov dword [ebp + 0x5a4f6c], edi
mov eax, dword [0x58a5a0]
mov ecx, dword [ebp + 0x5a4f48]
add eax, 0xfffffffe
cmp ecx, eax
jae 0x434035
mov dword [ebp + 0x5a4f44], edi
cmp dword [ebp + 0x5a4f6c], edi
jne 0x43406b
mov eax, dword [ebp + 0x5a4f74]
cmp eax, edi
jge 0x434056
add eax, 4
cmp eax, edi
mov dword [ebp + 0x5a4f74], eax
jle 0x43406b
jmp 0x434065
jle 0x43406b
add eax, 0xfffffffc
cmp eax, edi
mov dword [ebp + 0x5a4f74], eax
jge 0x43406b
mov dword [ebp + 0x5a4f74], edi
cmp dword [ebp + 0x5a535c], 0x55
jne 0x4340b8
cmp dword [ebp + 0x5a500c], edi
jle 0x4340b8
cmp dword [ebp + 0x5a5004], 0x8c
jge 0x4340b8
mov eax, dword [ebp + 0x5a5010]
cmp eax, edi
jne 0x43409c
mov dword [ebp + 0x5a5008], 0x21
inc eax
cmp eax, 0x46
mov dword [ebp + 0x5a5010], eax
jle 0x4340b8
mov dword [ebp + 0x5a500c], edi
mov dword [ebp + 0x5a5010], 1
pop edi
pop esi
pop ebp
pop ebx
ret
lea ecx, [eax - 0x118]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 3
jle 0x4340e0
mov edx, 3
mov cx, word [0x54f958]
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], dl
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
jmp 0x433916
cmp esi, 0x22e
jle 0x43411d
mov dword [ebp + 0x5a500c], edi
cmp dword [ebp + 0x5a5068], edi
jne 0x43418f
mov al, byte [ebp + 0x5a4f1c]
cmp al, 0xa
jne 0x434138
push edi
push edi
push 0x196
jmp 0x434179
cmp al, 0xf
jne 0x434153
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x196
push ecx
push edx
jmp 0x434187
cmp al, 0x14
jne 0x43416e
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push edi
push edi
push 0x196
push eax
push ecx
jmp 0x434187
cmp al, 0x1a
jne 0x43418f
push edi
push edi
push 0x199
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edx
push eax
call fcn.00478870
add esp, 0x14
mov ecx, dword [0x54f958]
xor edx, edx
mov dx, word [ebp + 0x5a4f14]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0x5a5060]
cmp edx, eax
jne 0x4341ce
cmp ecx, edi
jne 0x433916
mov dword [ebp + 0x5a5004], edi
mov dword [ebp + 0x5a5060], edi
mov dword [ebp + 0x5a5008], 0x21
jmp 0x433918
cmp ecx, edi
jne 0x433916
jmp 0x4343c0
cmp eax, edx
jne 0x4341eb
cmp dword [ebp + 0x5a5060], edi
jne 0x433916
mov dword [ebp + 0x5a5004], edi
mov dword [ebp + 0x5a5060], edi
mov eax, dword [0x6087b0]
mov cl, al
sub al, 0x2c
add cl, 4
and eax, 0xff
and ecx, 0xff
mov eax, dword [eax + 0x608a20]
mov dword [0x6087b0], ecx
mov ebx, dword [ecx + 0x608a20]
xor ebx, eax
and eax, 7
dec eax
mov dword [ecx + 0x608a20], ebx
cmp eax, 6
ja case.0x434235.2
jmp dword [eax*4 + 0x434700]
mov dword [ebp + 0x5a5008], 0x22
mov eax, dword [0x6087b0]
mov dl, al
sub al, 0x2c
add dl, 4
and eax, 0xff
and edx, 0xff
mov eax, dword [eax + 0x608a20]
mov ecx, edx
mov dword [0x6087b0], ecx
mov esi, dword [ecx + 0x608a20]
xor esi, eax
mov dword [ecx + 0x608a20], esi
mov edx, dword [ebp + 0x5a5060]
mov ecx, dword [ebp + 0x5a5008]
cmp edx, edi
jne 0x433916
mov edx, dword [ebp + 0x5a535c]
and eax, 3
mov dx, word [edx*4 + 0x54f800]
add dx, cx
mov ecx, 8
sub ecx, eax
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], ecx
jmp 0x4343d1
mov dword [ebp + 0x5a5008], 0x24
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
jne 0x433916
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x24
jmp 0x4343c0
mov dword [ebp + 0x5a5008], 0x25
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
jne 0x434337
mov ecx, dword [ebp + 0x5a535c]
mov dx, word [ecx*4 + 0x54f800]
add dx, 0x25
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 8
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
add eax, 0x8000
push eax
push 0x18
push ecx
push edx
call fcn.0042feb0
add esp, 0x10
cmp eax, edi
jle 0x433916
mov ecx, dword [0x58a8a0]
shl eax, 7
mov dword [eax + ecx], 0x413750
jmp 0x433918
cmp dword [ebp + 0x5a5010], edi
jne case.0x434235.2
mov dword [ebp + 0x5a5008], esi
jmp 0x433918
cmp dword [ebp + 0x5a5008], 0x21
je 0x433916
mov dword [ebp + 0x5a5008], 0x21
mov eax, dword [ebp + 0x5a5060]
cmp eax, edi
jne 0x433916
mov edx, dword [ebp + 0x5a535c]
mov ax, word [edx*4 + 0x54f800]
add ax, 0x21
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 8
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], 1
jmp 0x433918
cmp eax, 0x55
jne 0x43451d
mov ecx, dword [ebp + 0x5a5008]
mov esi, dword [0x54f954]
xor ebx, ebx
add esi, ecx
mov bx, word [ebp + 0x5a4f14]
cmp ebx, esi
jne 0x43451d
cmp dword [ebp + 0x5a5068], edi
jne 0x43451d
cmp ecx, 0x22
jne 0x4344e1
cmp byte [ebp + 0x5a4f1c], 3
jne 0x4344e1
mov ecx, dword [0x6087b0]
mov al, cl
sub cl, 0x2c
add al, 4
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx + 0x608a20]
mov dl, al
mov ebx, dword [eax + 0x608a20]
add dl, 4
xor ebx, ecx
and ecx, 0xf
mov dword [eax + 0x608a20], ebx
sub al, 0x2c
and edx, 0xff
and eax, 0xff
shl ecx, 8
mov eax, dword [eax + 0x608a20]
mov esi, dword [edx + 0x608a20]
add ecx, 0x2b11
xor esi, eax
test al, 1
push ecx
mov dword [0x6087b0], edx
mov dword [edx + 0x608a20], esi
push edi
je 0x4344c1
push 0x19c
mov eax, dword [ebp + 0x5a4ef0]
mov ecx, dword [ebp + 0x5a4eec]
push eax
push ecx
call fcn.00478870
add esp, 0x14
jmp 0x433918
push 0x19e
mov edx, dword [ebp + 0x5a4ef0]
mov eax, dword [ebp + 0x5a4eec]
push edx
push eax
call fcn.00478870
add esp, 0x14
jmp 0x433918
cmp ecx, 0x24
jne 0x433916
cmp byte [ebp + 0x5a4f1c], 5
jne 0x433916
push 0x5622
push edi
push 0x197
mov ecx, dword [ebp + 0x5a4ef0]
mov edx, dword [ebp + 0x5a4eec]
push ecx
push edx
call fcn.00478870
add esp, 0x14
jmp 0x433918
mov ecx, dword [ebp + 0x5a5000]
cmp ecx, edi
jle 0x434539
cmp dword [ebp + 0x5a4fe4], edi
je 0x43454b
cmp dword [ebp + 0x5a4f4c], edi
jne 0x43454b
cmp ecx, edi
jge 0x4345a8
cmp dword [ebp + 0x5a4fe0], edi
je 0x43454b
cmp dword [ebp + 0x5a4f4c], edi
je 0x4345a8
mov esi, dword [ebp + 0x5a4f44]
inc esi
mov dword [ebp + 0x5a4f44], esi
mov edx, dword [0x58a5a0]
mov ecx, esi
mov dword [ebp + 0x5a4f48], edx
cmp ecx, 0x10
mov ecx, dword [ebp + 0x5a5060]
jle 0x43459b
cmp ecx, edi
jne 0x433916
mov ax, word [eax*4 + 0x54f800]
add ax, 0x38
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 8
jmp 0x433918
cmp ecx, edi
jne 0x433916
jmp 0x4346b4
cmp edx, edi
jge 0x43465c
mov esi, dword [ebp + 0x5a4f6c]
inc esi
mov dword [ebp + 0x5a4f6c], esi
mov edx, dword [0x58a5a0]
mov ecx, esi
mov dword [ebp + 0x5a4f70], edx
cmp ecx, 8
jge 0x4345f6
mov ax, word [eax*4 + 0x54f800]
add ax, 0x2f
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], 0
jmp 0x43461a
mov dx, word [eax*4 + 0x54f800]
add dx, 0x2f
mov word [ebp + 0x5a4f14], dx
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], 1
mov dword [ebp + 0x5a5068], edi
cmp ecx, 0x1e
mov dword [ebp + 0x5a5060], edi
jle 0x433916
mov eax, dword [ebp + 0x5a4f74]
cmp eax, edi
jle 0x434647
add eax, 0xfffffffc
mov dword [ebp + 0x5a4f74], eax
jmp 0x433918
cmp eax, 0xffffffc4
jle 0x433916
dec eax
mov dword [ebp + 0x5a4f74], eax
jmp 0x433918
mov ecx, dword [ebp + 0x5a4f60]
mov edx, dword [0x58a5a0]
cmp ecx, edx
jae 0x4346a8
add edx, 0xfffffffc
cmp ecx, edx
jbe 0x4346a8
mov ax, word [eax*4 + 0x54f800]
add ax, 6
mov word [ebp + 0x5a4f14], ax
mov dword [ebp + 0x5a5064], 0x100
mov byte [ebp + 0x5a4f1c], 0
mov dword [ebp + 0x5a5068], edi
mov dword [ebp + 0x5a5060], edi
jmp 0x433918
cmp dword [ebp + 0x5a5060], edi
jne 0x433918
mov cx, word [eax*4 + 0x54f800]
add cx, 0x4c
mov word [ebp + 0x5a4f14], cx
mov dword [ebp + 0x5a5064], 8
jmp 0x433918
cmp dword [ebp + 0x5a4f54], edi
jle 0x433916
mov dword [ebp + 0x5a4f54], edi
jmp 0x433918