Function at 0x46304c
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov ebp, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x78]
mov eax, ecx
shr eax, 3
mov esi, ecx
and esi, 7
cmp esi, 1
sbb eax, 0xffffffff
mov dword [esp + 0x34], eax
mov eax, ecx
shr eax, 2
and ecx, 3
cmp ecx, 1
call 0x463081
pop ebx
sbb eax, 0xffffffff
lea ecx, [eax + eax*2]
xor edi, edi
inc edi
mov dword [esp + 0x3c], ecx
mov edx, edi
call fcn.004177eb
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], edx
mov al, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
mov dword [esp + 0x5c], ecx
cmp esi, 5
ja 0x4630f5
add ebx, dword [esi*4 + 0x463fc4]
jmp ebx
mov byte [esp + 6], al
jmp 0x46311a
mov eax, dword [esp + 0x78]
xor ebx, ebx
mov ecx, eax
sub ecx, esi
cmovb ecx, ebx
cmp ecx, 0x20
mov dword [esp + 8], ebp
jb 0x463861
lea ebp, [ecx - 0x20]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], ebp
cmp ebx, ebp
ja 0x463863
lea edx, [ebx + 0x20]
mov dword [esp], ebx
mov ecx, ebx
mov dword [esp + 0x54], edx
push 0x50dcb4
push eax
push dword [esp + 0x7c]
call fcn.004314ea
add esp, 0xc
mov esi, eax
mov ebp, edx
lea edx, [edi + 0x1a]
mov dword [esp + 0x24], edi
mov ecx, edi
push 0x50dcc4
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.004314ea
add esp, 0xc
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], esi
mov ecx, esi
mov dword [esp + 0x20], ebp
mov edx, ebp
push 0x50dcd4
push 0
call fcn.004173f2
pop ecx
pop ecx
mov ebp, eax
mov esi, edx
mov dword [esp + 0x1c], ebx
mov ecx, ebx
mov dword [esp + 0x28], edi
mov edx, edi
push 0x50dce4
push 0
call fcn.004173f2
pop ecx
pop ecx
test esi, esi
je 0x463f2d
movzx ecx, byte [ebp]
mov edi, dword [esp + 8]
mov bl, byte [edi + ecx + 0x43]
cmp bl, 0xff
je 0x463c60
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov byte [esp + 0x44], bl
cmp esi, 2
mov ebp, dword [esp]
jb 0x463f38
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + 1]
mov bl, byte [edi + ecx + 0x43]
mov byte [esp + 7], bl
cmp bl, 0xff
je 0x463d6b
cmp esi, 3
jb 0x463f44
mov ebp, dword [esp + 0xc]
movzx ecx, byte [ebp + 2]
mov al, byte [edi + ecx + 0x43]
cmp al, 0xff
je 0x463a45
cmp esi, 4
jb 0x463f50
movzx ecx, byte [ebp + 3]
mov bh, byte [edi + ecx + 0x43]
cmp bh, 0xff
je 0x463a50
cmp esi, 5
jb 0x463f5c
mov byte [esp + 0x3b], al
mov dword [esp + 0x58], edx
movzx ecx, byte [ebp + 4]
mov bl, byte [edi + ecx + 0x43]
cmp bl, 0xff
je 0x463a5b
cmp esi, 6
jb 0x463f68
movzx ecx, byte [ebp + 5]
mov eax, dword [esp + 8]
mov ah, byte [eax + ecx + 0x43]
cmp ah, 0xff
je 0x463a66
cmp esi, 7
jb 0x463f74
movzx ecx, byte [ebp + 6]
mov ebp, dword [esp + 8]
mov al, byte [ebp + ecx + 0x43]
cmp al, 0xff
je 0x463a71
cmp esi, 8
jb 0x463f80
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + 7]
mov esi, dword [esp + 8]
mov dh, byte [esi + ecx + 0x43]
cmp dh, 0xff
je 0x463a7c
movzx ecx, byte [esp + 0x44]
shl ecx, 0x1a
movzx esi, byte [esp + 7]
shl esi, 0x14
or esi, ecx
movzx ecx, byte [esp + 0x3b]
shl ecx, 0xe
or ecx, esi
movzx esi, bh
shl esi, 8
or esi, ecx
movzx ecx, bl
shl ecx, 2
or ecx, esi
movzx esi, ah
mov edi, esi
shl edi, 0x1c
shr esi, 4
or esi, ecx
movzx eax, al
shl eax, 0x16
or eax, edi
movzx edi, dh
shl edi, 0x10
or edi, eax
xor ecx, ecx
push 8
pop ebp
mov edx, ebp
push 0x50de34
push dword [esp + 0x5c]
push dword [esp + 0x18]
call fcn.004314ea
add esp, 0xc
bswap edi
bswap esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov ecx, eax
push 0x50de44
push ebp
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0x50dcf4
mov dword [esp + 0x14], ebp
push ebp
call fcn.004173f2
pop ecx
pop ecx
mov esi, eax
mov edi, edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0x50dd04
push 6
call fcn.004173f2
pop ecx
pop ecx
test edi, edi
je 0x463f2d
movzx ecx, byte [esi]
mov ebp, dword [esp + 8]
mov bl, byte [ebp + ecx + 0x43]
mov byte [esp + 0xc], bl
cmp bl, 0xff
je 0x463dd2
cmp edi, 2
jb 0x463f38
movzx ecx, byte [esi + 1]
mov bh, byte [ebp + ecx + 0x43]
cmp bh, 0xff
je 0x463db3
cmp edi, 3
jb 0x463f44
movzx ecx, byte [esi + 2]
mov bl, byte [ebp + ecx + 0x43]
cmp bl, 0xff
je 0x463db7
cmp edi, 4
jb 0x463f50
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], eax
movzx ecx, byte [esi + 3]
mov ah, byte [ebp + ecx + 0x43]
cmp ah, 0xff
je 0x463dbb
cmp edi, 5
jb 0x463f5c
movzx ecx, byte [esi + 4]
mov al, byte [ebp + ecx + 0x43]
cmp al, 0xff
je 0x463dbf
cmp edi, 6
jb 0x463f68
movzx ecx, byte [esi + 5]
mov dh, byte [ebp + ecx + 0x43]
cmp dh, 0xff
je 0x463dc3
cmp edi, 7
jb 0x463f74
movzx ecx, byte [esi + 6]
mov ebp, dword [esp + 8]
mov dl, byte [ebp + ecx + 0x43]
cmp dl, 0xff
je 0x463dc7
cmp edi, 8
jb 0x463f80
mov byte [esp + 7], dh
movzx ecx, byte [esi + 7]
mov esi, dword [esp + 8]
mov dh, byte [esi + ecx + 0x43]
cmp dh, 0xff
je 0x463dcb
movzx ecx, byte [esp + 0xc]
shl ecx, 0x1a
movzx esi, bh
shl esi, 0x14
or esi, ecx
movzx ecx, bl
shl ecx, 0xe
or ecx, esi
movzx esi, ah
shl esi, 8
or esi, ecx
movzx eax, al
shl eax, 2
or eax, esi
movzx esi, byte [esp + 7]
mov ecx, esi
shl ecx, 0x1c
shr esi, 4
or esi, eax
movzx eax, dl
shl eax, 0x16
or eax, ecx
movzx ebx, dh
shl ebx, 0x10
or ebx, eax
xor ecx, ecx
push 8
pop edx
push 0x50de34
push dword [esp + 0x48]
push dword [esp + 0x18]
call fcn.004314ea
add esp, 0xc
bswap ebx
bswap esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov ecx, eax
push 0x50de44
push 8
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0x50dd14
push 0x10
call fcn.004173f2
pop ecx
pop ecx
mov edi, eax
mov esi, edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0x50dd24
push 0xc
call fcn.004173f2
pop ecx
pop ecx
test esi, esi
je 0x463f2d
movzx ecx, byte [edi]
mov ebp, dword [esp + 8]
mov bl, byte [ebp + ecx + 0x43]
mov byte [esp + 0xc], bl
cmp bl, 0xff
je 0x463ddb
cmp esi, 2
jb 0x463f38
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], eax
movzx ecx, byte [edi + 1]
mov ah, byte [ebp + ecx + 0x43]
cmp ah, 0xff
je 0x463ddf
cmp esi, 3
jb 0x463f44
movzx ecx, byte [edi + 2]
mov bl, byte [ebp + ecx + 0x43]
cmp bl, 0xff
je 0x463de3
cmp esi, 4
jb 0x463f50
movzx ecx, byte [edi + 3]
mov bh, byte [ebp + ecx + 0x43]
mov byte [esp + 7], bh
cmp bh, 0xff
je 0x463de7
cmp esi, 5
jb 0x463f5c
movzx ecx, byte [edi + 4]
mov bh, byte [ebp + ecx + 0x43]
cmp bh, 0xff
je 0x463deb
cmp esi, 6
jb 0x463f68
movzx ecx, byte [edi + 5]
mov dh, byte [ebp + ecx + 0x43]
cmp dh, 0xff
je 0x463def
cmp esi, 7
jb 0x463f74
movzx ecx, byte [edi + 6]
mov ebp, dword [esp + 8]
mov dl, byte [ebp + ecx + 0x43]
cmp dl, 0xff
je 0x463df3
cmp esi, 8
jb 0x463f80
mov al, bl
movzx ecx, byte [edi + 7]
mov esi, dword [esp + 8]
mov bl, byte [esi + ecx + 0x43]
cmp bl, 0xff
je 0x463df7
movzx ecx, byte [esp + 0xc]
shl ecx, 0x1a
movzx esi, ah
shl esi, 0x14
or esi, ecx
movzx ecx, al
shl ecx, 0xe
or ecx, esi
movzx esi, byte [esp + 7]
shl esi, 8
or esi, ecx
movzx eax, bh
shl eax, 2
or eax, esi
movzx esi, dh
mov ecx, esi
shl ecx, 0x1c
shr esi, 4
or esi, eax
movzx eax, dl
shl eax, 0x16
or eax, ecx
movzx ebx, bl
shl ebx, 0x10
or ebx, eax
xor ecx, ecx
push 8
pop edx
push 0x50de34
push dword [esp + 0x48]
push dword [esp + 0x18]
call fcn.004314ea
add esp, 0xc
bswap ebx
bswap esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov ecx, eax
push 0x50de44
push 8
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0x50dd34
push 0x18
call fcn.004173f2
pop ecx
pop ecx
mov edi, eax
mov esi, edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0x50dd44
push 0x12
call fcn.004173f2
pop ecx
pop ecx
test esi, esi
je 0x463f2d
mov ebp, edx
movzx ecx, byte [edi]
mov edx, dword [esp + 8]
mov bl, byte [edx + ecx + 0x43]
mov byte [esp + 0xc], bl
cmp bl, 0xff
je 0x463dfb
cmp esi, 2
jb 0x463f38
movzx ecx, byte [edi + 1]
mov bl, byte [edx + ecx + 0x43]
cmp bl, 0xff
je 0x463dff
mov byte [esp + 0x14], bl
cmp esi, 3
jb 0x463f44
movzx ecx, byte [edi + 2]
mov bl, byte [edx + ecx + 0x43]
cmp bl, 0xff
je 0x463e03
cmp esi, 4
jb 0x463f50
movzx ecx, byte [edi + 3]
mov bh, byte [edx + ecx + 0x43]
mov byte [esp + 0x20], bh
cmp bh, 0xff
je 0x463e07
cmp esi, 5
jb 0x463f5c
movzx ecx, byte [edi + 4]
mov bh, byte [edx + ecx + 0x43]
cmp bh, 0xff
je 0x463e0b
cmp esi, 6
jb 0x463f68
movzx ecx, byte [edi + 5]
mov dl, byte [edx + ecx + 0x43]
cmp dl, 0xff
je 0x463e0f
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
cmp esi, 7
jb 0x463f74
movzx ecx, byte [edi + 6]
mov ebp, dword [esp + 8]
mov ah, byte [ebp + ecx + 0x43]
cmp ah, 0xff
je 0x463e13
mov byte [esp + 0x10], dl
cmp esi, 8
jb 0x463f80
mov al, bl
movzx ecx, byte [edi + 7]
mov esi, dword [esp + 8]
mov bl, byte [esi + ecx + 0x43]
cmp bl, 0xff
push 8
pop edi
mov ebp, dword [esp + 0x50]
je 0x463e17
movzx ecx, byte [esp + 0xc]
shl ecx, 0x1a
movzx esi, byte [esp + 0x14]
shl esi, 0x14
or esi, ecx
movzx ecx, al
shl ecx, 0xe
or ecx, esi
movzx esi, byte [esp + 0x20]
shl esi, 8
or esi, ecx
mov dl, ah
movzx eax, bh
shl eax, 2
or eax, esi
movzx esi, byte [esp + 0x10]
mov ecx, esi
shl ecx, 0x1c
shr esi, 4
or esi, eax
movzx eax, dl
shl eax, 0x16
or eax, ecx
movzx ebx, bl
shl ebx, 0x10
or ebx, eax
xor ecx, ecx
mov edx, edi
push 0x50de34
push dword [esp + 0x2c]
push dword [esp + 0x24]
call fcn.004314ea
add esp, 0xc
bswap ebx
bswap esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov ecx, eax
push 0x50de44
push 8
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
mov edi, dword [esp + 0x24]
add edi, 0x18
add dword [esp + 0x34], 0xfffffffc
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x48]
jmp 0x463143
xor edi, edi
cmp ecx, 8
jb 0x463a8b
mov dword [esp + 0x24], edi
add ecx, 0xfffffff8
mov dword [esp + 0x48], ecx
cmp ebx, ecx
jae 0x463a87
lea ebp, [ebx + 8]
mov dword [esp], ebx
mov ecx, ebx
mov edx, ebp
push 0x50dd54
push eax
push dword [esp + 0x7c]
call fcn.004314ea
add esp, 0xc
mov edi, eax
mov esi, edx
mov ecx, dword [esp + 0x24]
lea edx, [ecx + 8]
push 0x50dd64
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.004314ea
add esp, 0xc
test esi, esi
je 0x463f2d
mov dword [esp + 0xc], ebp
movzx ecx, byte [edi]
mov ebp, dword [esp + 8]
mov bl, byte [ebp + ecx + 0x43]
mov byte [esp + 0x14], bl
cmp bl, 0xff
je 0x463c60
cmp esi, 2
jb 0x463f38
movzx ecx, byte [edi + 1]
mov bh, byte [ebp + ecx + 0x43]
cmp bh, 0xff
je 0x463d4e
cmp esi, 3
jb 0x463f44
movzx ecx, byte [edi + 2]
mov bl, byte [ebp + ecx + 0x43]
cmp bl, 0xff
je 0x463a45
cmp esi, 4
jb 0x463f50
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
movzx ecx, byte [edi + 3]
mov ah, byte [ebp + ecx + 0x43]
cmp ah, 0xff
je 0x463a50
cmp esi, 5
jb 0x463f5c
movzx ecx, byte [edi + 4]
mov al, byte [ebp + ecx + 0x43]
cmp al, 0xff
je 0x463a5b
cmp esi, 6
jb 0x463f68
movzx ecx, byte [edi + 5]
mov dl, byte [ebp + ecx + 0x43]
cmp dl, 0xff
je 0x463a66
cmp esi, 7
jb 0x463f74
movzx ecx, byte [edi + 6]
mov ebp, dword [esp + 8]
mov dh, byte [ebp + ecx + 0x43]
cmp dh, 0xff
je 0x463a71
cmp esi, 8
jb 0x463f80
mov byte [esp + 0x28], dh
movzx ecx, byte [edi + 7]
mov esi, dword [esp + 8]
mov dh, byte [esi + ecx + 0x43]
cmp dh, 0xff
je 0x463a7c
movzx ecx, byte [esp + 0x14]
shl ecx, 0x1a
movzx esi, bh
shl esi, 0x14
or esi, ecx
movzx ecx, bl
shl ecx, 0xe
or ecx, esi
movzx esi, ah
shl esi, 8
or esi, ecx
movzx eax, al
shl eax, 2
or eax, esi
movzx esi, dl
mov ecx, esi
shl ecx, 0x1c
shr esi, 4
or esi, eax
movzx eax, byte [esp + 0x28]
shl eax, 0x16
or eax, ecx
movzx ebx, dh
shl ebx, 0x10
or ebx, eax
xor ecx, ecx
push 8
pop edx
push 0x50de34
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.004314ea
add esp, 0xc
bswap ebx
bswap esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov ecx, eax
push 0x50de44
push 8
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
add dword [esp + 0x24], 6
dec dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x48]
jmp 0x463877
mov ebx, dword [esp]
or ebx, 2
jmp 0x463d70
mov ebx, dword [esp]
or ebx, 3
jmp 0x463d70
mov ebx, dword [esp]
or ebx, 4
jmp 0x463d70
mov ebx, dword [esp]
or ebx, 5
jmp 0x463d70
mov ebx, dword [esp]
or ebx, 6
jmp 0x463d70
mov ebx, dword [esp]
or ebx, 7
jmp 0x463d70
mov edi, dword [esp + 0x24]
xor ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x34]
jae 0x463c68
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x74]
mov edx, eax
push 0x50dd74
mov dword [esp + 4], ebx
push ebx
call fcn.004173f2
pop ecx
pop ecx
mov ebp, eax
mov esi, edx
lea ebx, [edi + 6]
mov ecx, edi
mov edx, ebx
push 0x50dd84
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.004314ea
add esp, 0xc
test esi, esi
je 0x463f2d
mov edi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], ebx
movzx ecx, byte [ebp]
mov edx, dword [esp + 8]
mov bl, byte [edx + ecx + 0x43]
mov byte [esp + 0x14], bl
cmp bl, 0xff
je 0x463c60
cmp esi, 2
jb 0x463f38
movzx ecx, byte [ebp + 1]
mov bh, byte [edx + ecx + 0x43]
cmp bh, 0xff
je 0x463d30
cmp esi, 3
jb 0x463f44
movzx ecx, byte [ebp + 2]
mov bl, byte [edx + ecx + 0x43]
cmp bl, 0xff
je 0x463d36
cmp esi, 4
jb 0x463f50
movzx ecx, byte [ebp + 3]
mov al, byte [edx + ecx + 0x43]
mov byte [esp + 0x1c], al
cmp al, 0xff
je 0x463d3e
cmp esi, 5
jb 0x463f5c
movzx ecx, byte [ebp + 4]
mov ah, byte [edx + ecx + 0x43]
cmp ah, 0xff
je 0x463d46
cmp esi, 6
jb 0x463f68
movzx ecx, byte [ebp + 5]
mov dh, byte [edx + ecx + 0x43]
cmp dh, 0xff
je 0x463d53
cmp esi, 7
jb 0x463f74
mov dword [esp + 0x28], edi
movzx ecx, byte [ebp + 6]
mov edi, dword [esp + 8]
mov dl, byte [edi + ecx + 0x43]
cmp dl, 0xff
je 0x463d5b
cmp esi, 8
jb 0x463f80
mov al, bl
movzx ecx, byte [ebp + 7]
mov esi, dword [esp + 8]
mov bl, byte [esi + ecx + 0x43]
cmp bl, 0xff
je 0x463d63
movzx ecx, byte [esp + 0x14]
shl ecx, 0x1a
movzx esi, bh
shl esi, 0x14
or esi, ecx
movzx ecx, al
shl ecx, 0xe
or ecx, esi
movzx esi, byte [esp + 0x1c]
shl esi, 8
or esi, ecx
movzx ecx, ah
shl ecx, 2
or ecx, esi
movzx eax, dh
mov esi, eax
shl esi, 0x1c
shr eax, 4
or eax, ecx
movzx ecx, dl
shl ecx, 0x16
or ecx, esi
movzx edx, bl
shl edx, 0x10
or edx, ecx
bswap edx
bswap eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
xor ecx, ecx
push 6
pop edx
push 0x50de14
push dword [esp + 0x2c]
push dword [esp + 0x28]
call fcn.004314ea
add esp, 0xc
mov ecx, eax
push 0x50de24
push 6
lea eax, [esp + 0x34]
push eax
call fcn.004c0af1
add esp, 0xc
mov ebx, dword [esp]
add ebx, 8
mov ecx, dword [esp + 0x24]
inc ecx
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x78]
jmp 0x463a8e
mov ebx, dword [esp]
jmp 0x463d70
mov dword [esp + 0x24], edi
cmp ebx, eax
ja 0x463fad
mov ecx, dword [esp + 0x74]
lea edi, [ecx + ebx]
add eax, ecx
mov dword [esp], eax
xor eax, eax
mov dword [esp + 0x1c], 0
xor esi, esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], edi
mov dword [esp + 0xc], 0
mov edx, eax
xor ecx, ecx
mov eax, dword [esp]
cmp edi, eax
je 0x463d77
mov ebp, ebx
lea eax, [edx + 1]
movzx ebx, byte [edi]
inc edi
cmp ebx, 0x3d
jne 0x463cda
test ecx, ecx
cmove esi, edx
test dl, 2
je 0x463da8
inc ecx
mov edx, eax
mov ebx, ebp
jmp 0x463cac
test ecx, ecx
jne 0x463da8
mov ecx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
mov cl, byte [ecx + ebx + 0x43]
cmp cl, 0xff
je 0x463f92
mov ebx, dword [esp + 0x14]
inc ebx
movzx edx, cl
mov dword [esp + 0x14], ebx
imul ecx, ebx, 0x3a
xor ebx, ebx
shld ebx, edx, cl
shl edx, cl
test cl, 0x20
cmovne ebx, edx
mov ecx, 0
cmovne edx, ecx
or dword [esp + 0xc], ebx
or dword [esp + 0x34], edx
mov dword [esp + 0x20], edi
mov ebx, ebp
jmp 0x463ca8
mov ebx, dword [esp]
inc ebx
jmp 0x463d70
mov ebx, dword [esp]
add ebx, 2
jmp 0x463d70
mov ebx, dword [esp]
add ebx, 3
jmp 0x463d70
mov ebx, dword [esp]
add ebx, 4
jmp 0x463d70
mov ebx, dword [esp]
jmp 0x463d6d
mov ebx, dword [esp]
add ebx, 5
jmp 0x463d70
mov ebx, dword [esp]
add ebx, 6
jmp 0x463d70
mov ebx, dword [esp]
add ebx, 7
jmp 0x463d70
mov ebx, ebp
or ebx, 1
mov eax, ebx
jmp 0x463e1f
mov ecx, dword [esp + 0x5c]
cmp ecx, 2
je 0x463e51
cmp ecx, 1
mov edi, dword [esp + 0x24]
jne 0x463e66
sub eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add eax, ecx
test al, 3
jne 0x463e5f
jmp 0x463e6a
mov ebx, ebp
add ebx, esi
mov edi, 0x3d00
jmp 0x463e2f
push 9
jmp 0x463dcd
push 0xa
jmp 0x463dcd
push 0xb
jmp 0x463dcd
push 0xc
jmp 0x463dcd
push 0xd
jmp 0x463dcd
push 0xe
jmp 0x463dcd
push 0xf
pop ebp
mov dword [esp + 0x10], ebp
mov ebx, dword [esp]
mov eax, dword [esp + 0x10]
jmp 0x463e1d
push 0x10
jmp 0x463e19
push 0x11
jmp 0x463e19
push 0x12
jmp 0x463e19
push 0x13
jmp 0x463e19
push 0x14
jmp 0x463e19
push 0x15
jmp 0x463e19
push 0x16
jmp 0x463e19
push 0x17
jmp 0x463e19
push 0x18
jmp 0x463e19
push 0x19
jmp 0x463e19
push 0x1a
jmp 0x463e19
push 0x1b
jmp 0x463e19
push 0x1c
jmp 0x463e19
push 0x1d
jmp 0x463e19
push 0x1e
jmp 0x463e19
push 0x1f
pop eax
mov ebx, dword [esp]
or eax, ebx
shl eax, 0x18
shr ebx, 8
shld ebx, eax, 8
movzx edi, cl
shl edi, 8
mov edx, dword [esp + 0x18]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
and dword [edx], 0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x4c]
call fcn.0043e571
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret
cmp eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
je 0x463e6a
xor ebx, ebx
push 3
pop edi
jmp 0x463e2f
mov ecx, dword [esp + 0x14]
cmp ecx, 9
jae 0x463fbd
mov eax, 0x1dd
bt eax, ecx
jae 0x463fbd
mov eax, dword [ecx*4 + 0x571890]
cmp byte [esp + 6], 0
je 0x463ef5
xor esi, esi
push 0x38
pop edx
cmp esi, eax
jae 0x463ed3
cmp edi, dword [esp + 0x3c]
jae 0x463fa0
mov ecx, edx
and cl, 0x38
mov ebp, edi
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
shrd edi, ebx, cl
mov ecx, edx
and cl, 0x18
shr ebx, cl
test dl, 0x20
cmove ebx, edi
mov edi, ebp
mov ecx, dword [esp + 0x40]
mov byte [ecx + ebp], bl
inc edi
add esi, 8
add edx, 0xfffffff8
jmp 0x463e94
mov eax, dword [esp + 0x3c]
cmp eax, edi
cmovb edi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edi
jmp 0x463e49
mov edx, dword [esp + 0xc]
mov ecx, eax
mov esi, dword [esp + 0x34]
shld edx, esi, cl
shl esi, cl
xor ecx, ecx
test al, 0x20
cmovne edx, esi
cmove ecx, esi
or ecx, edx
mov ecx, dword [esp + 0x14]
je 0x463e8f
add ebx, ecx
dec ebx
movzx edi, byte [esp + 0x1c]
shl edi, 8
or edi, 2
jmp 0x463e2f
xor ecx, ecx
xor edx, edx
push 0x50dd94
jmp 0x463f8a
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x50dda4
jmp 0x463f8a
push 2
pop ecx
mov edx, ecx
push 0x50ddb4
jmp 0x463f8a
push 3
pop ecx
mov edx, ecx
push 0x50ddc4
jmp 0x463f8a
push 4
pop ecx
mov edx, ecx
push 0x50ddd4
jmp 0x463f8a
push 5
pop ecx
mov edx, ecx
push 0x50dde4
jmp 0x463f8a
push 6
pop ecx
mov edx, ecx
push 0x50ddf4
jmp 0x463f8a
push 7
pop ecx
mov edx, ecx
push 0x50de04
call fcn.00506bf0
pop eax
ud2
mov ebx, ebp
add ebx, edx
movzx edi, byte [esp + 0x1c]
jmp 0x463e2c
mov ecx, edi
mov edx, dword [esp + 0x3c]
push 0x50e234
jmp 0x463f8a
mov ecx, ebx
mov edx, eax
push 0x50e224
call fcn.00506b80
jmp 0x463f8f
call fcn.00417574
ud2