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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x88], 0
mov word [esp + 0x72], 0
lea eax, [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
call fcn.007c51a0
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], 0x32
call fcn.004585b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x461cf6
mov eax, 8
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x52], cl
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], cl
mov byte [esp + 0x58], cl
mov byte [esp + 0x53], cl
mov byte [esp + 0x28], cl
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edi
jmp 0x462ca1
mov al, 0x6a
movzx edx, al
cmp edx, 0x23
je 0x461d53
mov ecx, 0xf
mov dword [esp + 0x28], 0xb
cmp edx, 0x6a
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], dl
mov byte [esp + 0x58], dl
mov byte [esp + 0x53], dl
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], edx
je 0x462137
jmp 0x462598
mov byte [esp + 0x53], 0x75
mov bl, 0x14
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x45ac80
call fcn.00435c50
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004384f0
test eax, eax
je 0x461de3
mov edx, 0x11
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x58], cl
mov dword [esp + 0x5c], ecx
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], cl
mov dword [esp + 0x60], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x462e59
jmp 0x4625fe
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x58], cl
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], cl
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], ecx
jmp 0x4625fe
mov ebx, 0xd3
add ebx, 0xffffff34
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x74], 0x70000027
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
test eax, eax
je 0x461e20
test ecx, ecx
je 0x461e20
mov dword [esp + 0x54], ebp
mov dword [esp + 0x68], 0
cmp ebx, 4
jne 0x46272a
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
jne 0x462f8c
jmp 0x46272a
mov bl, 0x14
mov edx, eax
or edx, 2
mov ecx, eax
xor ecx, 2
add ecx, edx
mov dword [esp + 0x6c], ebp
jne 0x4625fe
mov esi, 0x13
cmp dword [eax + 0x390], 0
jne 0x461edd
mov dword [esp + 0x54], ebp
mov byte [esp + 0x52], bh
mov dword [esp + 0x64], eax
cmp esi, 0xf
je 0x462eb4
mov esi, dword [esp + 0x64]
mov dword [esp], esi
call fcn.0040b5f0
test eax, eax
jne 0x461ef5
mov eax, 8
mov cl, 0x70
mov bh, byte [esp + 0x52]
jmp 0x462dbc
mov dword [esp + 0x54], ebp
mov byte [esp + 0x52], bh
mov dword [esp + 0x64], eax
mov ebp, 0xd
mov bl, 0x71
jmp 0x462cf2
xor ebp, ebp
mov ebx, 0x16
inc ebx
lea esi, [esi + 0x274]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jmp 0x461f7b
mov eax, ebp
and eax, 1
xor eax, ebp
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebp, eax
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 0x26c]
mov ecx, dword [esp + 0x88]
mov dword [ecx], eax
mov eax, dword [edx + 0x1b8]
mov ecx, dword [edx + 0x1bc]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x32
call fcn.00459370
xor ecx, ecx
xor edx, edx
mov eax, ebp
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebp, eax
jb 0x461f10
jmp 0x46285a
mov dword [esp + 0x74], 0x70000055
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
jmp 0x46272a
imul eax, eax
and eax, 3
cmp eax, 3
je 0x462071
mov byte [esp + 0x52], bh
mov bl, 0x2f
lea eax, [edx + 0x3c8]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x3c8]
mov ecx, dword [edx + 0x3cc]
mov dword [esp + 0x64], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0041f570
test eax, eax
jne 0x462010
mov esi, 0x13
mov edx, eax
or edx, 2
mov ecx, eax
mov dword [esp + 0x54], eax
xor ecx, 2
add ecx, edx
jne 0x462d64
jmp 0x463049
mov dword [esp + 0x54], eax
jmp 0x463049
mov eax, 0x4e
add eax, 0xffffffb6
mov bh, al
xor bh, 0x55
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x74], 0x70000054
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], ebp
mov edx, ecx
not edx
and edx, 1
mov esi, ecx
add esi, edx
setne bl
movzx esi, bl
cmp ecx, esi
jb 0x462020
mov dword [esp + 0x54], ebp
mov edx, dword [esp + 0x64]
cmp eax, 4
jne 0x461fb1
mov byte [esp + 0x52], bh
mov dword [esp + 0x64], edx
jmp 0x46272a
mov ebx, 0xc
mov byte [esp + 0x52], 0x51
mov dword [esp], ebp
mov dword [esp + 0x54], ebp
call fcn.0040ec40
test eax, eax
jne 0x462342
mov ebp, dword [esp + 0x64]
lea esi, [ebp + 0x3d4]
mov eax, dword [ebp + 0x3d4]
mov edx, dword [esp + 0x48]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00427270
test eax, eax
je 0x462122
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x462122
mov dword [esp + 0x4c], eax
mov al, 0x78
movzx eax, al
cmp eax, 4
je 0x4621ad
cmp eax, 0x53
jne 0x4621e6
mov dword [esp + 0x40], esi
mov esi, 0xf
mov byte [esp + 0x47], 0x74
mov byte [esp + 0x46], 0x4c
mov ecx, dword [ebp + 0x3b8]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x461eb4
jmp 0x462f8c
mov dword [esp + 0x4c], eax
mov ecx, 3
mov dword [esp + 0x74], 0x70000027
mov bh, byte [esp + 0x52]
mov dword [esp + 0x40], esi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], 0
cmp ecx, 3
mov ebp, dword [esp + 0x54]
jne 0x46215d
mov byte [esp + 0x52], bh
mov dword [esp + 0x6c], ebp
jmp 0x46272a
mov byte [esp + 0x53], 0x75
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x45ac80
call fcn.00435c50
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004384f0
mov dword [esp + 0x68], 0
test eax, eax
je 0x461e82
mov dword [esp + 0x6c], ebp
jmp 0x461e9a
mov dword [esp + 0x40], esi
mov eax, 0xc
mov esi, 5
mov byte [esp + 0x47], 0x74
mov byte [esp + 0x46], 0x4c
mov ecx, dword [ebp + 0x3b8]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x462eaf
jmp 0x4623d1
mov dword [esp + 0x40], esi
mov byte [esp + 0x47], 0x74
mov byte [esp + 0x46], 0x4c
cmp dword [ebp + 0x3b8], 0
je 0x462f8c
jmp 0x462eb4
mov byte [esp + 0x46], 0x7b
call fcn.0044c050
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.0040fbe0
test eax, eax
je 0x462f8c
xor eax, eax
mov ebx, dword [esp + 0x68]
jmp 0x462259
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x74], 0x70000029
mov ebx, ebp
mov dword [esp + 0x6c], esi
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x462240
mov dword [esp + 0x68], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], esi
jmp 0x46272a
mov byte [esp + 0x47], 0x74
call fcn.00455fb0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x46230d
mov eax, dword [esp + 0x64]
lea esi, [eax + 0x88]
lea ecx, [eax + 8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov ecx, dword [eax + 0x3c0]
mov dword [esp + 0x58], ecx
mov ebx, dword [eax + 0x3d0]
mov ecx, edi
mov edi, dword [esp + 0x48]
mov ebp, dword [edi]
mov edi, dword [edi + 4]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov edi, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], str.vm_dyn_execute
call fcn.004582d0
mov ebx, 8
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + 8]
cmp dword [ecx + 8], 4
je 0x462339
mov dword [esp + 0x3c], eax
mov byte [esp + 0x58], 0xf
mov eax, 0x13
xor ecx, ecx
test cl, cl
je 0x462438
jmp 0x462342
mov dword [esp + 0x3c], eax
mov byte [esp + 0x58], 0xf
cmp ebx, 8
mov ebp, dword [esp + 0x54]
je 0x462355
xor eax, eax
test al, al
je 0x4630c0
mov eax, dword [esp + 0x88]
movzx eax, word [eax + 0x18]
mov word [esp + 0x72], ax
mov dword [esp], eax
call fcn.00492770
lea edi, [esp + 0x7c]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x4623a1
mov esi, 8
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4623a1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
mov bh, byte [esp + 0x52]
jmp 0x4624de
mov cl, 3
movzx ecx, cl
cmp ecx, 3
je 0x4623ee
mov dword [esp + 0x34], eax
cmp ecx, 0x10
jne 0x4624c5
mov eax, 1
mov dword [esp + 0x74], 0x70000003
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
je 0x46272a
jmp 0x462f8c
mov dword [esp + 0x34], eax
xor ecx, ecx
mov eax, 0x34
add eax, 0xffffffd1
jmp 0x462419
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x74], 0x70000003
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x462400
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
cmp eax, 5
je 0x46272a
xor eax, eax
test al, al
jne 0x46272a
mov ebx, 0x1a
movzx ecx, byte [esp + 0x58]
cmp ecx, 0xf
jne 0x4627d5
mov ebx, 0xa9
xor ebx, 0xbf
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x6c]
jmp 0x4624a8
mov cl, bl
xor cl, 0x4e
mov byte [esp + 0x58], cl
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x74], 0x70000010
mov dword [esp + 0x68], esi
mov ebp, edx
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x462480
mov dword [esp + 0x6c], ebp
jmp 0x462717
mov dword [esp + 0x74], 0x70000003
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
jmp 0x46272a
mov byte [esp + 0x52], bh
cmp esi, 8
jne 0x462629
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
lea eax, [eax + eax*8]
lea ecx, [esp + 0x80]
mov edx, dword [esp + 0x88]
mov esi, dword [edx + 4]
mov edi, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x72]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x6c]
mov dword [esp], ebp
call dword [eax*8 + 0x7f61cc]
mov ebx, eax
movzx ecx, word [esp + 0x72]
mov dword [esp + 0x84], ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ebx, eax
jne 0x462646
mov dword [esp + 0x28], 0x12
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], 0
mov ebp, dword [esp + 0x64]
mov bh, byte [esp + 0x52]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0x6c]
cmp dword [esp + 0x28], 0xb
je 0x4625bd
xor eax, eax
test al, al
je 0x4630f5
mov byte [esp + 0x53], 0x75
mov bl, 0x14
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x45ac80
call fcn.00435c50
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004384f0
test eax, eax
jne 0x461e9a
mov dword [esp + 0x64], eax
mov esi, 0x18
mov ecx, 9
movzx edx, bl
cmp edx, 0x3b
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
je 0x4624de
jmp 0x462ab4
mov dword [esp + 0x74], 0x70000027
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
jmp 0x461f9c
xor esi, esi
mov edi, dword [esp + 0x30]
jmp 0x46267e
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov eax, dword [edi]
mov dword [esp], eax
call fcn.004936c0
mov dword [edi], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], ebx
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x462650
mov dword [esp + 0x54], ebp
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
jmp 0x46272a
mov ebx, 0x10
mov byte [esp + 0x53], 0x75
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x33
call fcn.00458d20
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x462707
xor eax, eax
test al, al
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
je 0x46290c
jmp 0x462717
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
cmp ebx, 0x10
je 0x46297f
xor eax, eax
test al, al
jne 0x46297f
mov ebx, 3
mov al, byte [esp + 0x53]
movzx ecx, al
cmp ecx, 0x27
je 0x462753
cmp ecx, 0x29
je 0x46275c
mov eax, 5
cmp ecx, 0x75
jne 0x4626a2
jmp 0x462ba8
mov ebp, dword [esp + 0x54]
jmp 0x46287f
mov ebx, 0xe
mov byte [esp + 0x53], 0x27
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x33
call fcn.00458d20
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x4627c5
mov eax, ebp
and eax, 1
inc eax
xor eax, ebp
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
jne 0x46290c
jmp 0x4627d5
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
xor eax, eax
cmp ebx, 0xe
jne 0x4627eb
mov ecx, ebx
not ecx
and ecx, 1
add ecx, ebx
jne 0x46297f
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x6c]
jmp 0x462833
mov ebx, 0xda
add ebx, 0xffffff31
mov cl, bl
add cl, 4
mov byte [esp + 0x58], cl
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x74], 0x70000010
mov dword [esp + 0x68], esi
mov ebp, edx
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x462800
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
cmp ebx, 0xb
je 0x46272a
imul ebx, ebx
and ebx, 3
cmp ebx, 3
jne 0x46297f
jmp 0x46272a
mov dword [esp + 0x54], ebp
cmp ebx, 3
jne 0x46209c
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jae 0x46209c
mov byte [esp + 0x53], 0x29
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x33
call fcn.00458d20
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x4628fa
xor eax, eax
test al, al
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
je 0x46290c
jmp 0x46297f
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
jmp 0x46297f
xor esi, esi
mov ebx, 0xc6
xor ebx, 0xc2
jmp 0x462939
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp], ebp
call fcn.004936c0
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x462920
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, edx
cmp ebx, 4
jne 0x462aa3
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
je 0x46209c
mov bl, 0x51
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4629a6
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4629a6
mov dword [esp], eax
mov dword [esp + 4], 0x32
call fcn.0064bf00
movzx ecx, bl
cmp ecx, 0x16
je 0x462a21
mov eax, 5
cmp ecx, 0x26
mov ebp, dword [esp + 0x64]
je 0x462a55
cmp ecx, 0x51
jne 0x462a66
xor esi, esi
jmp 0x462a09
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp + 0x88], 0
mov dword [esp], ebp
call fcn.00435360
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004234b0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0041d160
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x4629d0
jmp 0x462fe2
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00435360
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004234b0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0041d160
jmp 0x462fe2
mov ecx, edi
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov edi, edx
jmp 0x462c61
mov ebx, 0x17
mov dword [esp + 0x88], 0
mov dword [esp], ebp
call fcn.00435360
mov esi, dword [esp + 0x5c]
mov dword [esp], esi
call fcn.004234b0
mov ebp, dword [esp + 0x60]
mov dword [esp], ebp
call fcn.0041d160
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], ebp
jmp 0x462fcc
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
jmp 0x46209c
mov byte [esp + 0x52], bh
mov dword [esp + 0x6c], 0
cmp ecx, 9
mov eax, 0
je 0x461e47
xor eax, eax
test al, al
mov dword [esp + 0x68], 0
mov eax, 0
jne 0x461e47
mov byte [esp + 0x52], 0x2a
mov dword [esp + 0x74], 0x70000054
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x54], ebp
jmp 0x46272a
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
adc ecx, 0
mov dword [esp + 0x74], 0x70000055
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x462b00
jmp 0x4630da
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x74], 0x70000055
xor edx, edx
xor esi, esi
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x462b40
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edx
jmp 0x46272a
movzx ecx, bl
cmp ecx, 0x13
je 0x462c38
mov eax, 0xd
cmp ecx, 0x1b
je 0x462c4f
mov eax, 6
cmp ecx, 0x71
jne 0x461f94
mov ecx, dword [esp + 0x38]
cmp eax, 5
jne 0x462c25
mov dword [esp + 0x38], ecx
mov esi, 3
mov byte [esp + 0x53], 0x49
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x33
call fcn.00458d20
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x462d54
mov eax, ebp
and eax, 1
inc eax
xor eax, ebp
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
jne 0x46290c
jmp 0x462d64
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
jmp 0x462b60
xor ecx, ecx
mov eax, 0x4f
xor eax, 0x4a
mov bh, byte [esp + 0x52]
mov ebp, dword [esp + 0x54]
jmp 0x462b26
mov ecx, edi
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
xor esi, esi
cmp eax, 5
je 0x462d2d
imul eax, eax
and eax, 3
cmp eax, 2
je 0x462d2d
mov eax, 0x18
mov byte [esp + 0x28], 0x13
mov dword [esp + 0x74], 0x70000055
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], 0
cmp eax, 8
mov edi, dword [esp + 0x30]
mov bl, byte [esp + 0x28]
jne 0x462d47
mov ebp, 0x11
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0040a2e0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
cmp ebp, 0xd
je 0x462b80
jmp 0x462fe2
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp + 0x88], 0
mov dword [esp], ebp
call fcn.00435360
mov dword [esp], ebx
call fcn.004234b0
mov dword [esp], edi
call fcn.0041d160
mov eax, 3
sub eax, esi
mov ecx, esi
xor ecx, eax
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x462d00
jmp 0x462fe2
mov dword [esp + 0x6c], 0
jmp 0x46272a
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
cmp esi, 3
je 0x46297f
xor eax, eax
test al, al
je 0x462f13
jmp 0x46297f
lea ecx, [eax + 0x3c8]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0x3c8]
mov ecx, dword [eax + 0x3cc]
mov dword [esp + 0x64], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0041f570
mov dword [esp + 0x54], eax
test eax, eax
je 0x462db5
mov bl, 0x2f
mov byte [esp + 0x52], bh
jmp 0x463049
mov eax, 0x10
mov cl, 0x70
cmp eax, 8
jne 0x462e3f
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x462e48
mov edx, 9
movzx ecx, cl
cmp ecx, 0x1f
je 0x462e51
mov eax, 5
cmp ecx, 0x70
mov edx, dword [esp + 0x64]
je 0x462068
cmp ecx, 0x77
jne 0x462e76
mov byte [esp + 0x52], bh
mov bl, 0x2f
lea eax, [edx + 0x3c8]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x3c8]
mov ecx, dword [edx + 0x3cc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0041f570
test eax, eax
jne 0x463045
mov edx, eax
or edx, 2
mov ecx, eax
mov dword [esp + 0x54], eax
xor ecx, 2
add ecx, edx
jne 0x462f13
jmp 0x463049
mov byte [esp + 0x52], bh
jmp 0x462f13
mov byte [esp + 0x52], bh
jmp 0x462f13
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x54]
cmp edx, 9
jne 0x461e9a
imul edx, edx
and edx, 3
cmp edx, 2
jb 0x462d7c
jmp 0x461e9a
mov byte [esp + 0x52], bh
mov esi, 8
mov bl, 0x2f
lea eax, [edx + 0x3c8]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x3c8]
mov ecx, dword [edx + 0x3cc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0041f570
mov dword [esp + 0x54], eax
test eax, eax
jne 0x463049
cmp esi, 5
jne 0x462f13
movzx eax, byte [esp + 0x46]
cmp eax, 0x4c
je 0x462f4d
cmp eax, 0x72
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
je 0x462206
cmp eax, 0x7b
jne 0x463004
mov byte [esp + 0x46], 0x72
call fcn.0044c050
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.0040fbe0
test eax, eax
je 0x462f8c
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x46222c
jmp 0x462f8c
mov ebp, 0xd
mov dword [esp + 0x74], 0x70000027
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
cmp ebp, 0xb
jne 0x46272a
mov eax, 3
sub eax, ebp
xor eax, ebp
jne 0x46230d
jmp 0x46272a
mov byte [esp + 0x46], 0x53
call fcn.0044c050
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x54]
mov dword [esp], esi
call fcn.0040fbe0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x46222c
movzx eax, byte [esp + 0x47]
cmp eax, 0x43
je 0x462fed
cmp eax, 0x74
je 0x46227e
mov ebp, 0xb
mov ebx, 9
mov byte [esp + 0x47], 0x43
call fcn.00455fb0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x462f30
cmp ebx, 9
jne 0x462fe2
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
jne 0x46229a
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0x47], 0xf
call fcn.00455fb0
test eax, eax
jne 0x46229a
jmp 0x46230d
mov ebx, 4
mov byte [esp + 0x46], 0x4c
call fcn.0044c050
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.0040fbe0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x461e63
jmp 0x46222c
mov dword [esp + 0x54], eax
movzx eax, bl
cmp eax, 0x2f
je 0x46307b
mov esi, 9
cmp eax, 0x77
mov ebp, dword [esp + 0x54]
jne 0x4630ab
mov ebx, 7
mov byte [esp + 0x52], 0x51
mov dword [esp], ebp
call fcn.0040ec40
test eax, eax
je 0x46287f
jmp 0x4630c0
mov ebx, 0x13
mov esi, 0xe
mov byte [esp + 0x52], 0x51
mov ebp, dword [esp + 0x54]
mov dword [esp], ebp
call fcn.0040ec40
test eax, eax
jne 0x4630ab
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
jmp 0x462959
cmp esi, 9
jne 0x4630c0
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x46207e
mov ecx, 0x11
mov eax, 0xe
mov bh, byte [esp + 0x52]
movzx edx, bh
cmp edx, 0x2a
jne 0x462ab4
xor ecx, ecx
cmp eax, 5
jne 0x46204b
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
je 0x46204b
mov dword [esp + 0x54], ebp
mov byte [esp + 0x52], bh
jmp 0x46272a