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

Disassembly:
sub esp, 0x74
mov edx, dword [esp + 0x78]
push ebx
mov eax, edx
push ebp
shl eax, 4
add eax, edx
push esi
push edi
mov ebp, 1
lea eax, [eax + eax*2]
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x6c], ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x70], ebp
lea eax, [eax + eax*8]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
lea eax, [edx + eax*4]
mov dword [esp + 0x18], edi
shl eax, 2
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], edi
mov esi, dword [eax + 0xd5f604]
mov eax, dword [eax + 0xd5f608]
dec eax
mov dword [esp + 0x80], esi
cmp eax, ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov edx, 8
jne 0x4e4478
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jmp 0x4e4845
cmp eax, 2
jne 0x4e44c1
mov ebx, eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
jmp 0x4e450b
cmp eax, 3
jne 0x4e4520
mov ebx, 2
mov dword [esp + 0x10], 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jmp 0x4e4845
cmp eax, 4
jne 0x4e4584
mov ebx, 3
mov eax, 2
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 5
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jmp 0x4e4845
mov ebp, 5
cmp eax, ebp
jne 0x4e45f0
mov ebx, 3
mov eax, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 4
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jmp 0x4e4845
cmp eax, 6
jne 0x4e4650
mov dword [esp + 0x10], eax
mov ebx, 2
mov eax, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jmp 0x4e4845
mov edi, 7
cmp eax, edi
jne 0x4e46b5
xor ebx, ebx
mov eax, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
jmp 0x4e4845
cmp eax, edx
jne 0x4e4716
mov ebx, 2
mov edx, 1
xor eax, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 6
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
jmp 0x4e4841
cmp eax, 9
jne 0x4e4779
mov dword [esp + 0x10], edi
mov ebx, 3
mov edi, 1
xor edx, edx
mov eax, 2
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edx
jmp 0x4e4841
cmp eax, 0xa
jne 0x4e47dc
mov ebx, 2
mov edx, 1
xor eax, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
jmp 0x4e4845
cmp eax, 0xb
jne 0x4e4865
mov ebx, 2
xor eax, eax
mov edx, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 6
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
xor edx, edx
lea eax, [esi + esi*8]
mov dword [esp + 0x7c], edx
lea eax, [esi + eax*8]
shl eax, 4
add eax, esi
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x68], ecx
jmp 0x4e4a02
cmp eax, 0xc
jne 0x4e48b4
mov dword [esp + 0x10], edi
mov ebx, 3
mov edx, 1
xor eax, eax
mov edi, 2
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
jmp 0x4e482d
cmp eax, 0xd
jne 0x4e491e
mov dword [esp + 0x10], edx
mov ebx, 2
xor edx, edx
mov eax, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
jmp 0x4e4847
cmp eax, 0xe
jne 0x4e4989
mov ebx, 3
mov edi, 1
mov eax, 2
xor edx, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], 6
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
jmp 0x4e4847
cmp eax, 0x10
jne 0x4e4845
mov ebx, 2
mov eax, 1
xor edx, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 4
jmp 0x4e4847
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
cmp edx, dword [eax + 0x18]
jg 0x4e51ec
lea ecx, [esi + esi*8]
lea eax, [esi + ecx*8]
shl eax, 4
add eax, esi
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x6c]
lea ecx, [eax + eax*2]
mov al, byte [edx + ecx*4 + 0x38]
test al, al
lea ebp, [edx + ecx*4]
jne 0x4e4bac
test ebx, ebx
jle 0x4e4a42
mov word [ebp + 0x3a], 0x34
jmp 0x4e4ba8
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x4e4a55
mov word [ebp + 0x3a], 0x36
jmp 0x4e4ba8
mov eax, dword [esp + 0x70]
test eax, eax
jle 0x4e4a68
mov word [ebp + 0x3a], 0x50
jmp 0x4e4ba8
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x4e4a7b
mov word [ebp + 0x3a], 0x4d
jmp 0x4e4ba8
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4e4a8e
mov word [ebp + 0x3a], 0x57
jmp 0x4e4ba8
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4e4aa1
mov word [ebp + 0x3a], 0x56
jmp 0x4e4ba8
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4e4ab4
mov word [ebp + 0x3a], 0x51
jmp 0x4e4ba8
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4e4ac7
mov word [ebp + 0x3a], 0x4c
jmp 0x4e4ba8
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4e4ada
mov word [ebp + 0x3a], 0x4b
jmp 0x4e4ba8
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x4e4aed
mov word [ebp + 0x3a], 0x4a
jmp 0x4e4ba8
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x4e4b00
mov word [ebp + 0x3a], 0x52
jmp 0x4e4ba8
mov eax, dword [esp + 0x30]
test eax, eax
jle 0x4e4b13
mov word [ebp + 0x3a], 0x32
jmp 0x4e4ba8
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x4e4b26
mov word [ebp + 0x3a], 0x55
jmp 0x4e4ba8
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x4e4b36
mov word [ebp + 0x3a], 0x53
jmp 0x4e4ba8
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x4e4b46
mov word [ebp + 0x3a], 0x54
jmp 0x4e4ba8
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x4e4b56
mov word [ebp + 0x3a], 0x5f
jmp 0x4e4ba8
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x4e4b66
mov word [ebp + 0x3a], 0x5c
jmp 0x4e4ba8
mov eax, dword [esp + 0x48]
test eax, eax
jle 0x4e4b76
mov word [ebp + 0x3a], 0x58
jmp 0x4e4ba8
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x4e4b86
mov word [ebp + 0x3a], 0x59
jmp 0x4e4ba8
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x4e4b96
mov word [ebp + 0x3a], 0x41
jmp 0x4e4ba8
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x4e51da
mov word [ebp + 0x3a], 0x61
mov byte [ebp + 0x38], 1
mov cl, byte [ebp + 0x38]
test cl, cl
je 0x4e4cd4
mov ax, word [ebp + 0x3a]
cmp ax, 0x36
jne 0x4e4bca
dec dword [esp + 0x10]
jmp 0x4e4cd4
cmp ax, 0x34
jne 0x4e4bda
dec ebx
mov dword [esp + 0x58], ebx
jmp 0x4e4cd4
cmp ax, 0x50
jne 0x4e4be9
dec dword [esp + 0x70]
jmp 0x4e4cd4
cmp ax, 0x4d
jne 0x4e4bf8
dec dword [esp + 0x74]
jmp 0x4e4cd4
cmp ax, 0x57
jne 0x4e4c07
dec dword [esp + 0x14]
jmp 0x4e4cd4
cmp ax, 0x56
jne 0x4e4c16
dec dword [esp + 0x18]
jmp 0x4e4cd4
cmp ax, 0x51
jne 0x4e4c25
dec dword [esp + 0x1c]
jmp 0x4e4cd4
cmp ax, 0x4c
jne 0x4e4c34
dec dword [esp + 0x20]
jmp 0x4e4cd4
cmp ax, 0x4b
jne 0x4e4c43
dec dword [esp + 0x24]
jmp 0x4e4cd4
cmp ax, 0x4a
jne 0x4e4c52
dec dword [esp + 0x28]
jmp 0x4e4cd4
cmp ax, 0x52
jne 0x4e4c5e
dec dword [esp + 0x2c]
jmp 0x4e4cd4
cmp ax, 0x32
jne 0x4e4c6a
dec dword [esp + 0x30]
jmp 0x4e4cd4
cmp ax, 0x55
jne 0x4e4c76
dec dword [esp + 0x34]
jmp 0x4e4cd4
cmp ax, 0x53
jne 0x4e4c82
dec dword [esp + 0x38]
jmp 0x4e4cd4
cmp ax, 0x54
jne 0x4e4c8e
dec dword [esp + 0x3c]
jmp 0x4e4cd4
cmp ax, 0x5f
jne 0x4e4c9a
dec dword [esp + 0x40]
jmp 0x4e4cd4
cmp ax, 0x5c
jne 0x4e4ca6
dec dword [esp + 0x44]
jmp 0x4e4cd4
cmp ax, 0x58
jne 0x4e4cb2
dec dword [esp + 0x48]
jmp 0x4e4cd4
cmp ax, 0x59
jne 0x4e4cbe
dec dword [esp + 0x4c]
jmp 0x4e4cd4
cmp ax, 0x41
jne 0x4e4cca
dec dword [esp + 0x50]
jmp 0x4e4cd4
cmp ax, 0x61
jne 0x4e4cd4
dec dword [esp + 0x54]
mov eax, dword [esp + 0x8c]
movsx esi, word [ebp + 0x3a]
test eax, eax
je 0x4e4cec
cmp esi, 0x36
jne 0x4e51da
cmp cl, 3
jne 0x4e4d2a
mov eax, dword [ebp + 0x40]
movsx edi, word [eax*2 + 0x11ba970]
test edi, edi
je 0x4e4d2a
push esi
mov ecx, 0x1a464b0
call fcn.00409870
mov ecx, edi
shl ecx, 4
add ecx, edi
lea ecx, [ecx + ecx*2]
shl ecx, 2
sub ecx, edi
movsx edx, word [ecx*4 + 0x1a46596]
cmp edx, eax
je 0x4e51da
mov eax, dword [esp + 0x64]
cmp dword [eax + 0xd5fe6c], 0x78
jl 0x4e51da
mov ecx, dword [esp + 0x88]
push 0
push ecx
push esi
mov ecx, 0xd2c5c8
call fcn.00457000
test eax, eax
je 0x4e51da
cmp dword [0x1a464bc], 0x14
jl 0x4e51da
cmp esi, 0x33
jne 0x4e4d78
mov eax, dword [0xc00e34]
test eax, eax
jg 0x4e4da7
jmp 0x4e51da
cmp esi, 0x50
jne 0x4e4d90
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 0xd5fde0]
test eax, eax
jne 0x4e4da7
jmp 0x4e51da
cmp esi, 0x51
jne 0x4e4da7
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0xd5fde4]
test ecx, ecx
je 0x4e51da
mov ecx, dword [esp + 0x88]
push esi
push ecx
mov ecx, 0x150fd30
call fcn.004c1cb0
test eax, eax
jne 0x4e51da
mov edx, dword [esp + 0x88]
push esi
push edx
mov ecx, 0x150fd30
call fcn.004c2180
test eax, eax
jne 0x4e51da
mov edi, 0xf
cmp esi, 0x57
mov dword [esp + 0x78], edi
je 0x4e4e2c
cmp esi, 0x56
je 0x4e4e2c
cmp esi, 0x58
je 0x4e4e2c
cmp esi, 0x59
je 0x4e4e2c
cmp esi, 0xb4
je 0x4e4e2c
cmp esi, 0x52
je 0x4e4e25
cmp esi, 0x53
je 0x4e4e25
cmp esi, 0x54
je 0x4e4e25
cmp esi, 0x55
je 0x4e4e25
cmp esi, 0x32
je 0x4e4e25
cmp esi, 0x4b
je 0x4e4e25
cmp esi, 0x4c
jne 0x4e4e37
mov edi, 8
jmp 0x4e4e33
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 0xc]
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x88]
push esi
push ecx
mov ecx, 0x150fd30
call fcn.004c1e50
test eax, eax
jne 0x4e51da
mov edx, dword [esp + 0x88]
push esi
push edx
mov ecx, 0x150fd30
call fcn.004c1d40
test eax, eax
jne 0x4e51da
cmp edi, 0xf
jne 0x4e4e79
mov dword [0x150c974], eax
jmp 0x4e4e85
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [0x150c974], eax
push esi
mov ecx, 0xfb7fc0
call fcn.004f9d30
cmp esi, 0x34
mov edi, eax
jne 0x4e4efe
test ebx, ebx
jne 0x4e4ebe
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0xd5d4e4]
sub eax, 0xb
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0xd5d4e0]
add eax, 9
mov dword [esp + 0x60], eax
jmp 0x4e4fe1
cmp ebx, 1
jne 0x4e4ee6
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0xd5d4e4]
sub eax, 0xb
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0xd5d4e0]
add eax, 4
mov dword [esp + 0x60], eax
jmp 0x4e4fe1
cmp ebx, 2
jne 0x4e4fe1
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0xd5d4e4]
sub eax, 6
jmp 0x4e4ea8
cmp esi, 0x57
je 0x4e4f76
cmp esi, 0x56
je 0x4e4f76
cmp esi, 0x58
je 0x4e4f76
cmp esi, 0x59
je 0x4e4f76
cmp esi, 0x61
je 0x4e4f76
mov ebx, dword [esp + 0x64]
mov eax, 0x66666667
mov ecx, dword [ebx + 0xd5d4e4]
imul ecx
mov ecx, dword [ebx + 0xd5d4e0]
mov ebx, dword [esp + 0x6c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
push edx
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, ebx
push edx
call fcn.004e6770
mov eax, dword [ebx + 0xb4550]
cmp eax, 0xffffffff
je 0x4e51da
mov edx, ebx
mov ecx, dword [edx + 0xb4554]
cmp ecx, 0xffffffff
je 0x4e51da
jmp 0x4e4fd3
mov ebx, dword [esp + 0x64]
mov eax, 0x66666667
mov ecx, dword [ebx + 0xd5d4e4]
imul ecx
mov ecx, dword [ebx + 0xd5d4e0]
mov ebx, dword [esp + 0x6c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
push edx
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, ebx
push edx
call fcn.004e69d0
mov eax, dword [ebx + 0xb4550]
cmp eax, 0xffffffff
je 0x4e51da
mov edx, ebx
mov ecx, dword [edx + 0xb4554]
cmp ecx, 0xffffffff
je 0x4e51da
lea ecx, [ecx + ecx*4]
lea edx, [eax + eax*4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x88]
push edi
push esi
lea ecx, [eax + eax*2]
push eax
mov ebx, dword [ecx*4 + 0xb2ef10]
mov ecx, dword [esp + 0x6c]
add ebx, ecx
push ecx
push edx
mov ecx, 0xfb7fc0
call fcn.004f6c40
cmp esi, 0x56
je 0x4e508f
cmp esi, 0x57
je 0x4e508f
cmp esi, 0x58
je 0x4e5054
cmp esi, 0x59
je 0x4e5054
cmp esi, 0xb4
jne 0x4e514f
mov eax, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x60]
push esi
mov eax, dword [eax + 0xc]
cdq
sub eax, edx
sar eax, 1
shl eax, 3
mov ecx, dword [eax + 0x6744a4]
mov edx, dword [eax + 0x6744a0]
add ecx, edi
push ecx
jmp 0x4e5136
mov ecx, dword [esp + 0x68]
push edi
push esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x64]
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov edx, dword [eax + 0x67444c]
mov eax, dword [eax + 0x674448]
add edx, ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x6c]
add eax, edx
push eax
push ecx
jmp 0x4e5145
mov edx, dword [esp + 0x68]
push edi
push esi
mov eax, dword [edx + 0xc]
cdq
sub eax, edx
mov edx, dword [esp + 0x64]
sar eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov ecx, dword [eax + 0x674444]
add ecx, edx
mov edx, dword [eax + 0x674440]
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x6c]
add edx, ecx
mov ecx, 0xfb7fc0
push edx
push eax
call fcn.004f6c40
mov ecx, dword [esp + 0x68]
push edi
push esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x64]
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov edx, dword [eax + 0x67444c]
mov eax, dword [eax + 0x674448]
add edx, ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x6c]
add eax, edx
push eax
push ecx
mov ecx, 0xfb7fc0
call fcn.004f6c40
mov edx, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x60]
push esi
mov eax, dword [edx + 0xc]
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov ecx, dword [eax + 0x674454]
mov edx, dword [eax + 0x674450]
add ecx, edi
push ecx
mov eax, dword [esp + 0x6c]
add edx, eax
mov eax, dword [esp + 0x94]
push edx
push eax
mov ecx, 0xfb7fc0
call fcn.004f6c40
mov ecx, dword [esp + 0x78]
push ecx
push esi
mov ecx, 0xfb7fc0
call fcn.004f9d30
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x68]
push esi
mov esi, dword [esp + 0x94]
push edx
push eax
push esi
mov ecx, 0xfb7fc0
call fcn.004f9f40
mov eax, dword [0x150c8f4]
mov ecx, dword [0x150c848]
test eax, eax
jne 0x4e51c1
mov eax, ecx
push ecx
shl eax, 4
add eax, ecx
push esi
lea edx, [eax + eax*2]
shl edx, 2
sub edx, ecx
mov ecx, 0x150fd30
mov word [edx*4 + 0x1a4678c], 1
call fcn.004c2660
mov dword [ebp + 0x40], ebx
mov eax, dword [0x150c8f4]
test eax, eax
jne 0x4e51c1
mov byte [ebp + 0x38], 3
cmp byte [ebp + 0x38], 3
jne 0x4e51cd
mov byte [ebp + 0x39], 0xa
jmp 0x4e51d1
mov byte [ebp + 0x39], 0x10
mov eax, dword [0x150c8f4]
test eax, eax
je 0x4e51f8
mov edx, dword [esp + 0x7c]
inc edx
cmp edx, 0x32
mov dword [esp + 0x7c], edx
jl 0x4e49f7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x74
ret 8