Function at 0x4192e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x100a0
call fcn.0041d9f0
mov eax, dword [esp + 0x100a8]
mov ecx, eax
push ebx
mov ebx, dword [esp + 0x100b4]
push ebp
mov dword [esp + 0x1c], eax
push esi
mov ebp, dword [ebx]
mov esi, 0xfff
add ebp, eax
mov dword [ebx], 0
push edi
mov edi, dword [esp + 0x100bc]
mov dword [esp + 0x44], ecx
lea eax, [ebp - 5]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x18], eax
lea edx, [ebp - 0xc]
mov eax, dword [esp + 0x100c4]
add eax, edi
mov dword [esp + 0x70], edx
cmp dword [esp + 0x100d0], 2
mov dword [esp + 0x30], edi
lea ebx, [eax - 5]
cmovne ebx, eax
cmp dword [esp + 0x100cc], 0x1000
mov dword [esp + 0x68], ebx
cmovb esi, dword [esp + 0x100cc]
mov dword [esp + 0x6c], esi
mov esi, ecx
cmp ecx, edx
ja 0x41ac1d
mov ebp, dword [esp + 0x100b4]
lea eax, [ebp + 0x20000]
mov dword [esp + 0x74], eax
nop
mov edx, dword [ebp + 0x40004]
mov eax, esi
mov ebx, dword [ebp + 0x40014]
sub eax, ecx
mov dword [esp + 0x10], eax
mov edi, esi
xor eax, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x50], eax
sub edi, edx
mov eax, dword [ebp + 0x40010]
mov dword [esp + 0x3c], eax
add eax, edx
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x10000]
cmp eax, edi
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x40008]
lea ecx, [edi - 0xffff]
cmovbe ebx, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x100c8]
xor ecx, ecx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esi]
mov esi, dword [ebp + 0x40018]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x28], 3
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
cmp esi, edi
jae 0x419451
mov ebx, edx
imul eax, dword [ebx + esi], 0x9e3779b1
mov ecx, esi
shr eax, 0x11
lea edx, [eax*4]
mov eax, 0xffff
sub ecx, dword [edx + ebp]
cmp ecx, 0xffff
cmova ecx, eax
movzx eax, si
mov word [ebp + eax*2 + 0x20000], cx
mov dword [edx + ebp], esi
inc esi
cmp esi, edi
jb 0x419412
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [ebp + 0x40018], edi
imul eax, dword [esi], 0x9e3779b1
shr eax, 0x11
mov ebp, dword [ebp + eax*4]
cmp ebp, dword [esp + 0x4c]
jb 0x419853
mov eax, dword [esp + 0x48]
test eax, eax
je 0x419747
dec eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
cmp ebp, eax
jb 0x41953f
mov ecx, dword [esp + 0x28]
lea edi, [edx + ebp]
mov ax, word [ecx + esi - 1]
cmp ax, word [ecx + edi - 1]
jne 0x41964a
cmp dword [edi], ebx
jne 0x41964a
lea ecx, [esi + 4]
mov esi, dword [esp + 0x18]
add esi, 0xfffffffd
lea edx, [edi + 4]
mov ebx, ecx
cmp ecx, esi
jae 0x4194e1
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41952b
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x4194e1
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x419533
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x4194d1
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x4194fa
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x4194fa
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x419505
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x419505
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x24]
add eax, 4
mov ebx, dword [esp + 0x14]
cmp eax, dword [esp + 0x28]
jle 0x41964a
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], edi
jmp 0x41964a
bsf eax, eax
shr eax, 3
jmp 0x419509
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x419509
mov ecx, dword [esp + 0x60]
cmp dword [ecx + ebp], ebx
jne 0x41964a
mov edi, eax
lea edx, [ecx + 4]
sub edi, ebp
lea ecx, [esi + 4]
add edi, esi
mov ebx, ecx
cmp edi, dword [esp + 0x18]
cmova edi, dword [esp + 0x18]
add edx, ebp
lea esi, [edi - 3]
cmp ecx, esi
jae 0x419594
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x4196e2
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x419594
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x4196ed
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x419580
lea eax, [edi - 1]
cmp ecx, eax
jae 0x4195a9
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x4195a9
add ecx, 2
add edx, 2
cmp ecx, edi
jae 0x4195b4
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4195b4
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x24]
lea ebx, [eax + 4]
lea ecx, [ebx + esi]
cmp ecx, edi
jne 0x419632
mov esi, dword [esp + 0x18]
cmp edi, esi
jae 0x41962e
mov edx, dword [esp + 0x40]
add esi, 0xfffffffd
mov edi, ecx
cmp ecx, esi
jae 0x419604
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x4196fc
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x419604
nop
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x419707
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x4195f0
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x41961d
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41961d
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x419628
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x419628
inc ecx
mov eax, ecx
sub eax, edi
add ebx, eax
mov esi, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jle 0x419646
mov eax, dword [esp + 0x20]
add eax, ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
movzx eax, bp
movzx eax, word [ecx + eax*2]
sub ebp, eax
mov dword [esp + 0x34], ebp
cmp eax, 1
jne 0x419731
mov edi, dword [esp + 0x58]
test edi, edi
jne 0x419769
mov ecx, dword [esp + 0x14]
mov eax, ebx
shr eax, 0x18
xor ebx, ebx
cmp cl, al
mov edx, ecx
movzx eax, cx
sete bl
shr edx, 0x10
xor ecx, ecx
cmp eax, edx
sete cl
test ecx, ebx
je 0x419729
mov edi, dword [esp + 0x18]
lea eax, [esi + 4]
mov ebx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x58], 2
lea edx, [edi - 3]
cmp eax, edx
jae 0x4196c0
mov ecx, dword [eax]
xor ecx, ebx
jne 0x419716
add eax, 4
cmp eax, edx
jb 0x4196b3
mov ecx, ebx
cmp eax, edi
jae 0x4196d2
cmp byte [eax], cl
jne 0x4196d2
inc eax
shr ecx, 8
cmp eax, edi
jb 0x4196c6
mov ecx, eax
sub ecx, esi
add ecx, 4
mov dword [esp + 0x54], ecx
jmp 0x419772
bsf eax, eax
shr eax, 3
jmp 0x4195b8
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x4195b8
bsf eax, eax
shr eax, 3
jmp 0x41962c
bsf eax, eax
shr eax, 3
sub eax, edi
add eax, ecx
jmp 0x41962c
bsf ecx, ecx
shr ecx, 3
sub ecx, esi
add ecx, eax
add ecx, 4
mov dword [esp + 0x54], ecx
jmp 0x419772
mov dword [esp + 0x58], 1
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
cmp ebp, dword [esp + 0x4c]
jae 0x419472
mov eax, dword [esp + 0x28]
cmp eax, 3
jle 0x419853
mov ecx, esi
mov edi, eax
sub ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], ecx
jmp 0x419859
cmp edi, 2
jne 0x419731
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
cmp ebp, dword [esp + 0x3c]
jb 0x419735
add ebp, edx
cmp dword [ebp], ebx
jne 0x41984a
lea eax, [ebp + 4]
lea edx, [edi - 3]
mov esi, eax
cmp eax, edx
jae 0x4197a4
mov ecx, dword [eax]
xor ecx, ebx
jne 0x419831
add eax, 4
cmp eax, edx
jb 0x419793
mov ecx, ebx
cmp eax, edi
jae 0x4197bc
nop word [eax + eax]
cmp byte [eax], cl
jne 0x4197bc
inc eax
shr ecx, 8
cmp eax, edi
jb 0x4197b0
mov ecx, eax
sub ecx, esi
mov edx, dword [esp + 0x24]
lea ebx, [ecx + 4]
mov ecx, dword [esp + 0x40]
mov edi, ecx
lea eax, [ecx + 0xffff]
cmp eax, edx
jae 0x4197dd
lea edi, [edx - 0xffff]
mov esi, dword [esp + 0x14]
lea edx, [edi + 4]
mov dword [esp + 0x78], esi
mov ecx, ebp
cmp ebp, edx
jb 0x4197fc
nop
cmp dword [ecx - 4], esi
jne 0x4197fc
add ecx, 0xfffffffc
cmp ecx, edx
jae 0x4197f0
cmp ecx, edi
jbe 0x419813
lea esi, [esp + 0x7b]
sub esi, ecx
mov al, byte [ecx - 1]
cmp al, byte [ecx + esi]
jne 0x419813
dec ecx
cmp ecx, edi
ja 0x419806
sub ebp, ecx
mov ecx, dword [esp + 0x54]
lea eax, [ebx + ebp]
cmp eax, ecx
jb 0x41983d
cmp ebx, ecx
ja 0x41983d
mov ebp, dword [esp + 0x34]
sub ebx, ecx
add ebp, ebx
jmp 0x419731
bsf ecx, ecx
shr ecx, 3
sub ecx, esi
add ecx, eax
jmp 0x4197c0
sub dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x34]
jmp 0x419731
mov ebp, dword [esp + 0x34]
jmp 0x419735
mov ecx, dword [esp + 0x38]
mov edi, ecx
test edi, edi
jne 0x419867
inc esi
mov dword [esp + 0x24], esi
jmp 0x41abb7
cmp edi, dword [esp + 0x6c]
jbe 0x4199e7
mov edi, dword [esp + 0x30]
mov ebx, esi
sub ebx, ecx
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x10]
mov edx, edi
mov ebp, edi
mov dword [esp + 0x60], ebx
inc edi
mov dword [esp + 0x48], edx
cmp dword [esp + 0x100d0], 0
mov dword [esp + 0x30], edi
je 0x4198b2
mov eax, ecx
shr eax, 8
add eax, 8
add eax, ecx
add eax, edi
cmp eax, dword [esp + 0x68]
ja 0x41abd5
cmp ecx, 0xf
jb 0x4198ff
lea ebx, [ecx - 0xf]
mov byte [ebp], 0xf0
cmp ebx, 0xff
jb 0x4198f2
mov eax, 0x80808081
mul ebx
mov esi, edx
shr esi, 7
push esi
push 0xff
push edi
call fcn.0041e5b0
add esp, 0xc
add edi, esi
sub ebx, 0xff
sub esi, 1
jne 0x4198e3
mov ecx, dword [esp + 0x10]
mov byte [edi], bl
inc edi
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x30], edi
jmp 0x419907
mov al, cl
shl al, 4
mov byte [ebp], al
mov esi, dword [esp + 0x44]
mov edx, edi
add edi, ecx
sub esi, dword [esp + 0x30]
mov eax, dword [edx + esi]
mov ecx, dword [edx + esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, edi
jb 0x419913
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov eax, esi
mov edx, dword [esp + 0x2c]
sub eax, ebx
mov word [edi], ax
add edi, 2
cmp dword [esp + 0x100d0], 0
mov dword [esp + 0x30], edi
lea ecx, [edx - 4]
je 0x419965
mov eax, ecx
shr eax, 8
add eax, 6
add eax, edi
cmp eax, dword [esp + 0x68]
ja 0x41abd1
mov eax, dword [esp + 0x3c]
mov al, byte [eax]
cmp ecx, 0xf
jb 0x4199d1
add al, 0xf
sub ecx, 0xf
mov byte [ebp], al
cmp ecx, 0x1fe
jb 0x4199a7
mov eax, 0x80808081
mul ecx
shr edx, 8
nop word [eax + eax]
mov word [edi], 0xffff
sub ecx, 0x1fe
add edi, 2
sub edx, 1
jne 0x419990
mov edx, dword [esp + 0x2c]
cmp ecx, 0xff
jb 0x4199b9
sub ecx, 0xff
mov byte [edi], 0xff
inc edi
mov byte [edi], cl
inc edi
add esi, edx
mov dword [esp + 0x30], edi
mov ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], ecx
jmp 0x41abbf
add cl, al
add esi, edx
mov byte [ebp], cl
mov ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], ecx
jmp 0x41abbf
mov ebx, dword [esp + 0x10]
mov eax, ebx
cmp ebx, 0xf
jl 0x419a04
lea ecx, [ebx - 0xf]
mov eax, 0x80808081
mul ecx
lea eax, [ebx + 1]
shr edx, 7
add eax, edx
lea esi, [ebx + 1]
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], 1
mov eax, esi
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], ebx
cmp esi, 0xf
jl 0x419a44
lea ecx, [esi - 0xf]
mov eax, 0x80808081
mul ecx
lea eax, [ebx + 2]
shr edx, 7
add eax, edx
mov dword [esp + 0x9c], esi
lea esi, [ebx + 2]
mov dword [esp + 0x90], eax
mov eax, esi
mov dword [esp + 0x98], 1
mov dword [esp + 0x94], 0
cmp esi, 0xf
jl 0x419a84
lea ecx, [esi - 0xf]
mov eax, 0x80808081
mul ecx
lea eax, [ebx + 3]
shr edx, 7
add eax, edx
lea ebp, [ebx + 3]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], 1
mov eax, ebp
mov dword [esp + 0xa4], 0
mov dword [esp + 0xac], esi
cmp ebp, 0xf
jl 0x419ac4
lea ecx, [ebp - 0xf]
mov eax, 0x80808081
mul ecx
lea eax, [ebx + 4]
shr edx, 7
add eax, edx
mov esi, 4
mov dword [esp + 0xb8], 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb0], eax
cmp edi, esi
jl 0x419b9b
lea edi, [esp + 0xc4]
cmp ebx, 0xf
jl 0x419b59
lea ecx, [ebx - 0xf]
mov eax, 0x80808081
mul ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
shr edx, 7
lea ebp, [edx + ebx]
mov edx, dword [esp + 0x2c]
nop dword [eax]
lea ebx, [ebp + 4]
cmp esi, 0x13
jl 0x419b44
lea ecx, [esi - 0x13]
mov eax, 0x80808081
mul ecx
mov eax, dword [esp + 0x10]
inc ebx
mov ecx, dword [esp + 0x38]
shr edx, 7
add ebx, edx
mov edx, dword [esp + 0x2c]
mov dword [edi + 4], esi
inc esi
mov dword [edi], ecx
mov dword [edi + 8], eax
mov dword [edi - 4], ebx
add edi, 0x10
cmp esi, edx
jle 0x419b20
jmp 0x419b9b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov ebx, ebp
cmp esi, 0x13
jl 0x419b88
lea ecx, [esi - 0x13]
mov eax, 0x80808081
mul ecx
mov eax, dword [esp + 0x10]
inc ebx
mov ecx, dword [esp + 0x38]
shr edx, 7
add ebx, edx
mov edx, dword [esp + 0x2c]
mov dword [edi + 4], esi
inc esi
mov dword [edi], ecx
mov dword [edi + 8], eax
mov dword [edi - 4], ebx
add edi, 0x10
cmp esi, edx
jle 0x419b65
mov ebp, dword [esp + 0x2c]
lea ecx, [esp + 0x80]
mov eax, ebp
mov ebx, 1
shl eax, 4
add ecx, eax
mov dword [esp + 0x20], ebx
lea edx, [ebp + 1]
add edx, edx
mov dword [esp + edx*8 + 0x88], 1
mov dword [esp + edx*8 + 0x84], 0
mov dword [esp + edx*8 + 0x8c], 1
mov eax, dword [ecx]
inc eax
mov dword [esp + edx*8 + 0x98], 1
mov dword [esp + edx*8 + 0x80], eax
mov dword [esp + edx*8 + 0x94], 0
mov dword [esp + edx*8 + 0x9c], 2
mov eax, dword [ecx]
add eax, 2
mov dword [esp + edx*8 + 0xa8], 1
mov dword [esp + edx*8 + 0x90], eax
mov dword [esp + edx*8 + 0xa4], 0
mov dword [esp + edx*8 + 0xac], 3
mov eax, dword [ecx]
add eax, 3
mov dword [esp + edx*8 + 0xa0], eax
cmp ebp, ebx
jle 0x41a988
nop dword [eax + eax]
mov esi, dword [esp + 0x24]
add esi, ebx
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0x70]
ja 0x41a988
mov ecx, ebx
add ecx, ecx
cmp dword [esp + 0x100d4], 0
mov edx, dword [esp + ecx*8 + 0x90]
mov eax, dword [esp + ecx*8 + 0x80]
je 0x419c96
cmp edx, eax
jg 0x419c9e
add eax, 3
cmp dword [esp + ecx*8 + 0xc0], eax
jl 0x41a97b
jmp 0x419c9e
cmp edx, eax
jle 0x41a97b
mov eax, dword [esp + 0x100b4]
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0
mov ebp, dword [eax + 0x40004]
mov edi, dword [eax + 0x40010]
mov edx, dword [eax + 0x40014]
mov eax, dword [eax + 0x40008]
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov dword [esp + 0x4c], edi
lea ecx, [edx + 0x10000]
mov dword [esp + 0x10], eax
mov edi, esi
xor eax, eax
mov dword [esp + 0x1c], ebp
sub edi, ebp
mov dword [esp + 0x58], edx
cmp dword [esp + 0x100d4], eax
je 0x41a1a8
cmp ecx, edi
mov dword [esp + 0x3c], eax
lea eax, [edi - 0xffff]
mov ebx, 3
cmovbe edx, eax
mov dword [esp + 0x28], ebx
xor ecx, ecx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x100c8]
xor eax, eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x100b4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], eax
mov esi, dword [ecx + 0x40018]
cmp esi, edi
jae 0x419d83
mov ebx, ecx
imul eax, dword [esi + ebp], 0x9e3779b1
mov ecx, esi
shr eax, 0x11
sub ecx, dword [ebx + eax*4]
lea edx, [ebx + eax*4]
cmp ecx, 0xffff
mov eax, 0xffff
cmova ecx, eax
movzx eax, si
mov word [ebx + eax*2 + 0x20000], cx
mov dword [edx], esi
inc esi
cmp esi, edi
jb 0x419d42
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x100b4]
mov esi, dword [esp + 0x14]
mov dword [ecx + 0x40018], edi
imul eax, dword [esi], 0x9e3779b1
shr eax, 0x11
mov ebp, dword [ecx + eax*4]
cmp ebp, dword [esp + 0x58]
jb 0x41a5ed
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
nop dword [eax + eax]
test edx, edx
je 0x41a09c
dec edx
mov dword [esp + 0x40], edx
cmp ebp, edi
jb 0x419e75
mov ax, word [ebx + esi - 1]
lea edi, [ecx + ebp]
mov ecx, dword [esp + 0x10]
cmp ax, word [ebx + edi - 1]
jne 0x419f8f
cmp dword [edi], ecx
jne 0x419f8f
lea ecx, [esi + 4]
mov esi, dword [esp + 0x18]
add esi, 0xfffffffd
lea edx, [edi + 4]
mov ebx, ecx
cmp ecx, esi
jae 0x419e17
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x419e61
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x419e17
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x419e69
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x419e07
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x419e30
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x419e30
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x419e3b
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x419e3b
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x14]
add eax, 4
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x28]
jle 0x419f8f
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edi
jmp 0x419f8f
bsf eax, eax
shr eax, 3
jmp 0x419e3f
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x419e3f
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
cmp dword [edx + ebp], ecx
jne 0x419f8f
sub edi, ebp
lea ecx, [esi + 4]
add edi, esi
mov ebx, ecx
cmp edi, dword [esp + 0x18]
cmova edi, dword [esp + 0x18]
add edx, 4
add edx, ebp
lea esi, [edi - 3]
cmp ecx, esi
jae 0x419ed4
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x41a02f
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x419ed4
nop dword [eax + eax]
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x41a03a
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x419ec0
lea eax, [edi - 1]
cmp ecx, eax
jae 0x419ee9
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x419ee9
add ecx, 2
add edx, 2
cmp ecx, edi
jae 0x419ef4
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x419ef4
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x14]
lea ebx, [eax + 4]
lea ecx, [ebx + esi]
cmp ecx, edi
jne 0x419f77
cmp edi, dword [esp + 0x18]
jae 0x419f77
mov esi, dword [esp + 0x18]
mov edi, ecx
mov edx, dword [esp + 0x1c]
add esi, 0xfffffffd
add edx, dword [esp + 0x4c]
cmp ecx, esi
jae 0x419f49
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a049
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x419f49
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a054
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x419f35
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x419f62
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x419f62
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x419f6d
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x419f6d
inc ecx
mov eax, ecx
sub eax, edi
mov esi, dword [esp + 0x14]
add ebx, eax
mov ecx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x28]
jle 0x419f8f
mov eax, dword [esp + 0x1c]
add eax, ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x100b4]
movzx eax, bp
movzx eax, word [edx + eax*2 + 0x20000]
sub ebp, eax
mov dword [esp + 0x34], ebp
cmp eax, 1
jne 0x41a07e
mov ebx, dword [esp + 0x54]
test ebx, ebx
jne 0x41a0b8
mov eax, ecx
mov edx, ecx
shr eax, 0x18
cmp cl, al
movzx eax, cx
sete bl
shr edx, 0x10
xor ecx, ecx
cmp eax, edx
sete cl
test ecx, ebx
je 0x41a076
mov edi, dword [esp + 0x18]
lea eax, [esi + 4]
mov ebx, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x54], 2
lea edx, [edi - 3]
cmp eax, edx
jae 0x41a00d
nop dword [eax]
mov ecx, dword [eax]
xor ecx, ebx
jne 0x41a063
add eax, 4
cmp eax, edx
jb 0x41a000
mov ecx, ebx
cmp eax, edi
jae 0x41a01f
cmp byte [eax], cl
jne 0x41a01f
inc eax
shr ecx, 8
cmp eax, edi
jb 0x41a013
mov ecx, eax
sub ecx, esi
add ecx, 4
mov dword [esp + 0x60], ecx
jmp 0x41a0c5
bsf eax, eax
shr eax, 3
jmp 0x419ef8
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x419ef8
bsf eax, eax
shr eax, 3
jmp 0x419f71
bsf eax, eax
shr eax, 3
sub eax, edi
add eax, ecx
jmp 0x419f71
bsf ecx, ecx
shr ecx, 3
sub ecx, esi
add ecx, eax
add ecx, 4
mov dword [esp + 0x60], ecx
jmp 0x41a0c5
mov dword [esp + 0x54], 1
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
cmp ebp, dword [esp + 0x58]
jae 0x419db0
cmp ebx, 3
jle 0x41a5ed
mov edx, esi
mov dword [esp + 0x38], ebx
sub edx, dword [esp + 0x3c]
mov dword [esp + 0x50], edx
jmp 0x41a5f1
cmp ebx, 2
jne 0x41a07e
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ebp, dword [esp + 0x4c]
jb 0x41a082
add ebp, ecx
cmp dword [ebp], ebx
jne 0x41a19f
lea eax, [ebp + 4]
lea edx, [edi - 3]
mov esi, eax
cmp eax, edx
jae 0x41a0f7
mov ecx, dword [eax]
xor ecx, ebx
jne 0x41a183
add eax, 4
cmp eax, edx
jb 0x41a0e6
mov ecx, ebx
cmp eax, edi
jae 0x41a10c
nop dword [eax]
cmp byte [eax], cl
jne 0x41a10c
inc eax
shr ecx, 8
cmp eax, edi
jb 0x41a100
mov ecx, eax
sub ecx, esi
mov edx, dword [esp + 0x14]
lea ebx, [ecx + 4]
mov ecx, dword [esp + 0x4c]
add ecx, dword [esp + 0x1c]
mov edi, ecx
lea eax, [ecx + 0xffff]
cmp eax, edx
jae 0x41a131
lea edi, [edx - 0xffff]
mov esi, dword [esp + 0x10]
lea edx, [edi + 4]
mov dword [esp + 0x7c], esi
mov ecx, ebp
cmp ebp, edx
jb 0x41a14e
cmp dword [ecx - 4], esi
jne 0x41a14e
add ecx, 0xfffffffc
cmp ecx, edx
jae 0x41a142
cmp ecx, edi
jbe 0x41a165
lea esi, [esp + 0x7f]
sub esi, ecx
mov al, byte [ecx - 1]
cmp al, byte [esi + ecx]
jne 0x41a165
dec ecx
cmp ecx, edi
ja 0x41a158
sub ebp, ecx
mov ecx, dword [esp + 0x60]
lea eax, [ebx + ebp]
cmp eax, ecx
jb 0x41a192
cmp ebx, ecx
ja 0x41a192
mov ebp, dword [esp + 0x34]
sub ebx, ecx
add ebp, ebx
jmp 0x41a07e
bsf ecx, ecx
shr ecx, 3
sub ecx, esi
add ecx, eax
jmp 0x41a110
sub dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x34]
jmp 0x41a07e
mov ebp, dword [esp + 0x34]
jmp 0x41a082
mov edx, dword [esp + 0x2c]
sub edx, ebx
mov dword [esp + 0x54], eax
cmp ecx, edi
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x58]
lea eax, [edi - 0xffff]
mov dword [esp + 0x34], edx
cmovbe ecx, eax
mov edx, dword [esp + 0x100b4]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x100c8]
mov dword [esp + 0x40], ecx
mov esi, dword [edx + 0x40018]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ebx
cmp esi, edi
jae 0x41a241
mov ebx, edx
nop word [eax + eax]
imul eax, dword [esi + ebp], 0x9e3779b1
mov ecx, esi
shr eax, 0x11
sub ecx, dword [ebx + eax*4]
lea edx, [ebx + eax*4]
cmp ecx, 0xffff
mov eax, 0xffff
cmova ecx, eax
movzx eax, si
mov word [ebx + eax*2 + 0x20000], cx
mov dword [edx], esi
inc esi
cmp esi, edi
jb 0x41a200
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x100b4]
mov esi, dword [esp + 0x14]
mov dword [edx + 0x40018], edi
imul eax, dword [esi], 0x9e3779b1
shr eax, 0x11
mov ebp, dword [edx + eax*4]
cmp ebp, dword [esp + 0x58]
jb 0x41a5ed
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x41a5d3
mov eax, dword [esp + 0x4c]
dec ecx
mov dword [esp + 0x40], ecx
cmp ebp, eax
jb 0x41a33a
mov ecx, dword [esp + 0x34]
lea edi, [edx + ebp]
mov ax, word [esi + ecx - 1]
cmp ax, word [edi + ecx - 1]
mov ecx, dword [esp + 0x10]
jne 0x41a45f
cmp dword [edi], ecx
jne 0x41a45f
lea ecx, [esi + 4]
mov esi, dword [esp + 0x18]
add esi, 0xfffffffd
lea edx, [edi + 4]
mov ebx, ecx
cmp ecx, esi
jae 0x41a2d4
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a326
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x41a2d4
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a32e
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x41a2c4
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x41a2ed
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41a2ed
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x41a2f8
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x41a2f8
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x14]
add eax, 4
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jle 0x41a45f
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], edi
jmp 0x41a45f
bsf eax, eax
shr eax, 3
jmp 0x41a2fc
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x41a2fc
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
cmp dword [edi + ebp], ecx
jne 0x41a45f
mov edx, dword [esp + 0x48]
lea ecx, [esi + 4]
mov edi, esi
mov ebx, ecx
sub edi, ebp
add edi, eax
cmp edi, dword [esp + 0x18]
cmova edi, dword [esp + 0x18]
add edx, 4
add edx, ebp
lea esi, [edi - 3]
cmp ecx, esi
jae 0x41a397
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a4f9
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x41a397
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x41a504
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x41a383
lea eax, [edi - 1]
cmp ecx, eax
jae 0x41a3ac
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41a3ac
add ecx, 2
add edx, 2
cmp ecx, edi
jae 0x41a3b7
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x41a3b7
inc ecx
mov eax, ecx
sub eax, ebx
mov esi, dword [esp + 0x14]
lea ebx, [eax + 4]
lea ecx, [esi + ebx]
cmp ecx, edi
jne 0x41a442
cmp edi, dword [esp + 0x18]
jae 0x41a442
mov esi, dword [esp + 0x18]
mov edi, ecx
mov edx, dword [esp + 0x1c]
add esi, 0xfffffffd
add edx, dword [esp + 0x4c]
cmp ecx, esi
jae 0x41a414
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x41a513
add ecx, 4
add edx, 4
cmp ecx, esi
jae 0x41a414
nop dword [eax + eax]
mov eax, dword [edx]
xor eax, dword [ecx]
jne 0x41a51e
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x41a400
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x41a42d
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41a42d
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x41a438
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x41a438
inc ecx
mov eax, ecx
sub eax, edi
mov esi, dword [esp + 0x14]
add ebx, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x34]
jle 0x41a45b
lea eax, [edx + ebp]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x54], eax
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x100b4]
movzx eax, bp
movzx eax, word [edi + eax*2 + 0x20000]
sub ebp, eax
cmp eax, 1
jne 0x41a5bd
mov edi, dword [esp + 0x3c]
test edi, edi
jne 0x41a54a
mov eax, ecx
xor ebx, ebx
shr eax, 0x18
mov edx, ecx
cmp cl, al
movzx eax, cx
sete bl
shr edx, 0x10
xor ecx, ecx
cmp eax, edx
sete cl
test ecx, ebx
je 0x41a540
mov ebx, dword [esp + 0x18]
lea eax, [esi + 4]
mov edi, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x3c], 2
lea edx, [ebx - 3]
cmp eax, edx
jae 0x41a4d4
mov ecx, dword [eax]
xor ecx, edi
jne 0x41a52d
add eax, 4
cmp eax, edx
jb 0x41a4c7
mov ecx, edi
cmp eax, ebx
jae 0x41a4ec
nop word [eax + eax]
cmp byte [eax], cl
jne 0x41a4ec
inc eax
shr ecx, 8
cmp eax, ebx
jb 0x41a4e0
mov ecx, eax
sub ecx, esi
lea ebx, [ecx + 4]
mov dword [esp + 0x28], ebx
jmp 0x41a54f
bsf eax, eax
shr eax, 3
jmp 0x41a3bb
bsf eax, eax
shr eax, 3
sub eax, ebx
add eax, ecx
jmp 0x41a3bb
bsf eax, eax
shr eax, 3
jmp 0x41a43c
bsf eax, eax
shr eax, 3
sub eax, edi
add eax, ecx
jmp 0x41a43c
bsf ecx, ecx
shr ecx, 3
sub ecx, esi
add ecx, eax
lea ebx, [ecx + 4]
mov dword [esp + 0x28], ebx
jmp 0x41a54f
mov dword [esp + 0x3c], 1
jmp 0x41a5b9
cmp edi, 2
jne 0x41a5bd
cmp ebp, dword [esp + 0x4c]
jb 0x41a5b9
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
lea edi, [edx + ebp]
cmp dword [edi], eax
jne 0x41a5bd
push eax
push dword [esp + 0x1c]
lea eax, [edi + 4]
push eax
call fcn.00416e00
mov ecx, dword [esp + 0x58]
add esp, 0xc
add ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
lea esi, [eax + 4]
lea eax, [ecx + 0xffff]
cmp eax, edx
mov eax, ecx
jae 0x41a596
lea eax, [edx - 0xffff]
push dword [esp + 0x10]
push eax
push edi
call fcn.00416e50
mov ecx, eax
add esp, 0xc
lea eax, [ecx + esi]
cmp eax, ebx
jb 0x41a5b7
cmp esi, ebx
ja 0x41a5b7
sub esi, ebx
add ebp, esi
jmp 0x41a5b9
sub ebp, ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
cmp ebp, dword [esp + 0x58]
jae 0x41a265
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x60]
jle 0x41a5ed
mov edx, esi
mov dword [esp + 0x38], eax
sub edx, dword [esp + 0x54]
mov dword [esp + 0x50], edx
jmp 0x41a5f1
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
mov ecx, edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x64], 0
test eax, eax
je 0x41a977
mov esi, eax
cmp eax, dword [esp + 0x6c]
ja 0x41aa23
add eax, ebx
cmp eax, 0x1000
jge 0x41aa23
mov eax, ebx
add eax, eax
mov esi, dword [esp + eax*8 + 0x8c]
mov edi, esi
lea ebp, [esi - 0xf]
cmp esi, 0xf
jl 0x41a648
mov eax, 0x80808081
lea edi, [esi + 1]
mul ebp
shr edx, 7
add edi, edx
lea ebx, [esi + 1]
mov ecx, ebx
cmp ebx, 0xf
jl 0x41a664
lea ecx, [ebx - 0xf]
mov eax, 0x80808081
mul ecx
lea ecx, [esi + 2]
shr edx, 7
add ecx, edx
mov edx, dword [esp + 0x20]
mov eax, edx
add eax, eax
mov eax, dword [esp + eax*8 + 0x80]
sub eax, edi
lea edi, [edx + 1]
add edi, edi
add eax, ecx
cmp eax, dword [esp + edi*8 + 0x80]
jge 0x41a6a9
mov dword [esp + edi*8 + 0x88], 1
mov dword [esp + edi*8 + 0x84], 0
mov dword [esp + edi*8 + 0x8c], ebx
mov dword [esp + edi*8 + 0x80], eax
cmp esi, 0xf
jl 0x41a6bf
mov eax, 0x80808081
mul ebp
lea ebp, [esi + 1]
shr edx, 7
add ebp, edx
jmp 0x41a6c1
mov ebp, esi
inc ebx
mov ecx, ebx
cmp ebx, 0xf
jl 0x41a6db
lea ecx, [ebx - 0xf]
mov eax, 0x80808081
mul ecx
lea ecx, [esi + 3]
shr edx, 7
add ecx, edx
mov eax, dword [esp + 0x20]
add eax, eax
mov eax, dword [esp + eax*8 + 0x80]
sub eax, ebp
add eax, ecx
cmp eax, dword [esp + edi*8 + 0x90]
jge 0x41a719
mov dword [esp + edi*8 + 0x98], 1
mov dword [esp + edi*8 + 0x94], 0
mov dword [esp + edi*8 + 0x9c], ebx
mov dword [esp + edi*8 + 0x90], eax
mov ebx, esi
cmp esi, 0xf
jl 0x41a732
lea ecx, [esi - 0xf]
mov eax, 0x80808081
mul ecx
lea ebx, [esi + 1]
shr edx, 7
add ebx, edx
lea edi, [esi + 3]
mov edx, edi
cmp edi, 0xf
jl 0x41a74e
lea ecx, [edi - 0xf]
mov eax, 0x80808081
mul ecx
shr edx, 7
add edx, 4
add edx, esi
mov eax, dword [esp + 0x20]
add eax, eax
mov ecx, dword [esp + eax*8 + 0x80]
sub ecx, ebx
mov ebx, dword [esp + 0x20]
add ecx, edx
mov eax, ebx
shl eax, 4
lea edx, [esp + 0xb0]
add edx, eax
cmp ecx, dword [edx]
jge 0x41a7a0
mov eax, ebx
mov dword [edx], ecx
add eax, eax
mov dword [esp + eax*8 + 0xb8], 1
mov eax, ebx
add eax, eax
mov dword [esp + eax*8 + 0xb4], 0
mov eax, ebx
add eax, eax
mov dword [esp + eax*8 + 0xbc], edi
mov esi, 4
cmp dword [esp + 0x38], esi
jl 0x41a8d9
mov eax, ebx
lea ecx, [esp + 0x88]
shl eax, 4
lea edx, [esp + 0x8c]
add ecx, eax
lea ebp, [esp + 0x80]
mov eax, ebx
mov dword [esp + 0x3c], ecx
shl eax, 4
add edx, eax
mov eax, ebx
shl eax, 4
add ebp, eax
mov dword [esp + 0x40], edx
mov eax, ebx
mov dword [esp + 0x48], ebp
shl eax, 4
lea ebx, [esp + 0xc4]
add ebx, eax
cmp dword [ecx], 1
jne 0x41a858
mov edi, dword [edx]
mov eax, dword [esp + 0x20]
cmp eax, edi
jle 0x41a813
sub eax, edi
add eax, eax
mov eax, dword [esp + eax*8 + 0x80]
mov dword [esp + 0x60], eax
jmp 0x41a81b
mov dword [esp + 0x60], 0
mov ebp, edi
cmp edi, 0xf
jl 0x41a834
lea ecx, [edi - 0xf]
mov eax, 0x80808081
mul ecx
shr edx, 7
lea ebp, [edx + 1]
add ebp, edi
add ebp, 3
cmp esi, 0x13
jl 0x41a84c
lea ecx, [esi - 0x13]
mov eax, 0x80808081
mul ecx
inc ebp
shr edx, 7
add ebp, edx
mov ecx, dword [esp + 0x60]
add ecx, ebp
mov ebp, dword [esp + 0x48]
jmp 0x41a877
xor edi, edi
lea edx, [edi + 3]
cmp esi, 0x13
jl 0x41a872
lea ecx, [esi - 0x13]
mov eax, 0x80808081
mul ecx
shr edx, 7
add edx, 4
mov ecx, dword [ebp]
add ecx, edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
add edx, esi
add eax, 3
cmp edx, eax
jg 0x41a88d
cmp ecx, dword [ebx - 4]
jg 0x41a8bd
mov eax, dword [esp + 0x38]
cmp esi, eax
jne 0x41a8ac
mov ebp, dword [esp + 0x2c]
cmp ebp, edx
cmovl ebp, edx
mov edx, ebp
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x50]
mov dword [ebx + 4], esi
mov dword [ebx], edx
mov dword [ebx + 8], edi
mov dword [ebx - 4], ecx
jmp 0x41a8c1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
inc esi
mov edx, dword [esp + 0x40]
add ebx, 0x10
cmp esi, eax
jle 0x41a7f3
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
lea ecx, [esp + 0x80]
mov eax, ebp
shl eax, 4
add ecx, eax
lea edx, [ebp + 1]
add edx, edx
mov dword [esp + edx*8 + 0x88], 1
mov dword [esp + edx*8 + 0x84], 0
mov dword [esp + edx*8 + 0x8c], 1
mov eax, dword [ecx]
inc eax
mov dword [esp + edx*8 + 0x98], 1
mov dword [esp + edx*8 + 0x80], eax
mov dword [esp + edx*8 + 0x94], 0
mov dword [esp + edx*8 + 0x9c], 2
mov eax, dword [ecx]
add eax, 2
mov dword [esp + edx*8 + 0xa8], 1
mov dword [esp + edx*8 + 0x90], eax
mov dword [esp + edx*8 + 0xa4], 0
mov dword [esp + edx*8 + 0xac], 3
mov eax, dword [ecx]
add eax, 3
mov dword [esp + edx*8 + 0xa0], eax
jmp 0x41a97b
mov ebp, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, ebp
jl 0x419c50
mov eax, ebp
mov ebx, ebp
add eax, eax
mov esi, dword [esp + eax*8 + 0x88]
sub ebx, esi
mov ecx, dword [esp + eax*8 + 0x84]
mov eax, ebx
add eax, eax
mov edx, dword [esp + eax*8 + 0x88]
mov edi, dword [esp + eax*8 + 0x84]
mov dword [esp + eax*8 + 0x88], esi
mov esi, edx
mov dword [esp + eax*8 + 0x84], ecx
cmp edx, ebx
jg 0x41a9ee
sub ebx, edx
mov ecx, ebx
add ecx, ecx
mov edx, dword [esp + ecx*8 + 0x88]
mov eax, dword [esp + ecx*8 + 0x84]
mov dword [esp + ecx*8 + 0x88], esi
mov esi, edx
mov dword [esp + ecx*8 + 0x84], edi
mov edi, eax
cmp edx, ebx
jle 0x41a9c4
xor ebx, ebx
test ebp, ebp
jle 0x41abb3
mov edi, dword [esp + 0x30]
mov eax, ebx
add eax, eax
mov ecx, dword [esp + eax*8 + 0x88]
mov dword [esp + 0x54], ecx
cmp ecx, 1
jne 0x41aa2f
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
inc esi
mov dword [esp + 0x24], esi
inc ebx
jmp 0x41aba9
lea ebp, [ebx + 1]
mov dword [esp + 0x2c], ebp
jmp 0x41a99e
mov esi, dword [esp + 0x44]
add ebx, ecx
mov ecx, dword [esp + 0x24]
mov edx, edi
sub ecx, dword [esp + eax*8 + 0x84]
mov ebp, edi
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], edi
sub ecx, esi
inc edi
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x100d0], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x60], ecx
je 0x41aa83
mov eax, ecx
shr eax, 8
add eax, 8
add eax, ecx
add eax, edi
cmp eax, dword [esp + 0x68]
ja 0x41abd9
cmp ecx, 0xf
jb 0x41aad4
lea ebx, [ecx - 0xf]
mov byte [ebp], 0xf0
cmp ebx, 0xff
jb 0x41aac7
mov eax, 0x80808081
mul ebx
mov esi, edx
shr esi, 7
push esi
push 0xff
push edi
call fcn.0041e5b0
add esp, 0xc
add edi, esi
sub ebx, 0xff
sub esi, 1
jne 0x41aab4
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x44]
mov byte [edi], bl
inc edi
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x30], edi
jmp 0x41aadc
mov al, cl
shl al, 4
mov byte [ebp], al
mov edx, edi
add edi, ecx
sub esi, dword [esp + 0x30]
mov eax, dword [esi + edx]
mov ecx, dword [esi + edx + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, edi
jb 0x41aae4
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0x60]
mov edx, dword [esp + 0x24]
mov eax, edx
sub eax, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
mov word [edi], ax
add edi, 2
cmp dword [esp + 0x100d0], 0
mov dword [esp + 0x30], edi
lea ecx, [esi - 4]
je 0x41ab38
mov eax, ecx
shr eax, 8
add eax, 6
add eax, edi
cmp eax, dword [esp + 0x68]
ja 0x41abd1
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp ecx, 0xf
jb 0x41ab92
add al, 0xf
sub ecx, 0xf
mov byte [ebp], al
cmp ecx, 0x1fe
jb 0x41ab77
mov eax, 0x80808081
mul ecx
shr edx, 8
nop dword [eax]
mov word [edi], 0xffff
sub ecx, 0x1fe
add edi, 2
sub edx, 1
jne 0x41ab60
mov edx, dword [esp + 0x24]
cmp ecx, 0xff
jb 0x41ab89
sub ecx, 0xff
mov byte [edi], 0xff
inc edi
mov byte [edi], cl
inc edi
mov dword [esp + 0x30], edi
jmp 0x41ab97
add al, cl
mov byte [ebp], al
mov ebp, dword [esp + 0x2c]
add edx, esi
mov esi, edx
mov dword [esp + 0x24], edx
mov ecx, esi
mov dword [esp + 0x44], ecx
cmp ebx, ebp
jl 0x41a9f8
jmp 0x41abbf
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x30]
cmp esi, dword [esp + 0x70]
ja 0x41ac15
mov ebp, dword [esp + 0x100b4]
jmp 0x419380
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
cmp dword [esp + 0x100d0], 2
jne 0x41ac58
mov ebx, dword [esp + 0x5c]
mov edi, edx
sub ebx, esi
mov dword [esp + 0x30], edi
mov eax, 0x80808081
mov dword [esp + 0x5c], ebx
lea ecx, [ebx + 0xf0]
mul ecx
mov ecx, dword [esp + 0x100d0]
shr edx, 7
add edx, ebx
mov ebx, dword [esp + 0x68]
add ebx, 5
jmp 0x41ac4a
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
sub ebp, ecx
mov eax, 0x80808081
mov dword [esp + 0x5c], ebp
lea ecx, [ebp + 0xf0]
mul ecx
mov ecx, dword [esp + 0x100d0]
shr edx, 7
add edx, ebp
cmp ecx, 2
jne 0x41ac46
add ebx, 5
jmp 0x41ac4a
test ecx, ecx
je 0x41ac80
lea eax, [edi + 1]
add eax, edx
cmp eax, ebx
jbe 0x41ac80
cmp ecx, 1
jne 0x41ac65
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x100a0
ret
sub ebx, edi
mov eax, 0x80808081
dec ebx
lea ecx, [ebx + 0xf0]
mul ecx
shr edx, 7
sub ebx, edx
mov dword [esp + 0x5c], ebx
jmp 0x41ac84
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
inc edi
mov ecx, dword [esp + 0x30]
lea ebp, [ebx + edx]
cmp ebx, 0xf
jb 0x41acd8
add ebx, 0xfffffff1
mov byte [ecx], 0xf0
cmp ebx, 0xff
jb 0x41accf
mov eax, 0x80808081
mul ebx
mov esi, edx
shr esi, 7
push esi
push 0xff
push edi
call fcn.0041e5b0
add esp, 0xc
add edi, esi
sub ebx, 0xff
sub esi, 1
jne 0x41acc0
mov edx, dword [esp + 0x44]
mov byte [edi], bl
inc edi
mov ebx, dword [esp + 0x5c]
jmp 0x41acdf
mov al, bl
shl al, 4
mov byte [ecx], al
push ebx
push edx
push edi
call fcn.0041e710
sub ebp, dword [esp + 0x100c4]
add esp, 0xc
mov eax, dword [esp + 0x100c0]
sub ebx, dword [esp + 0x100bc]
mov dword [eax], ebp
lea eax, [edi + ebx]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100a0
ret