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

Disassembly:
sub esp, 0x310
push ebx
push ebp
push esi
mov esi, dword [esp + 0x328]
push edi
xor edi, edi
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
mov di, word [esi + 0x62]
xor ebp, ebp
cmp word [esp + 0x330], bp
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
je 0x46a6dd
mov ecx, dword [esi]
mov dword [esp + 0x20], ecx
jmp 0x46a714
mov ebx, dword [esi + 0x10]
cmp ebx, 8
jle 0x46a6f6
mov ecx, dword [esi]
imul ebx, ecx
add ebx, 7
sar ebx, 3
mov dword [esp + 0x20], ebx
jmp 0x46a714
mov eax, 8
mov ecx, dword [esi]
cdq
idiv ebx
mov ebx, eax
lea edx, [ebx - 1]
lea eax, [ebx + ecx - 1]
not edx
and eax, edx
cdq
idiv ebx
mov dword [esp + 0x20], eax
xor ebx, ebx
cmp word [esi + 0x48], 6
mov dword [esi + 0x98], ebx
mov dword [esp + 0x1c], ebx
jne 0x46a72f
imul ecx, edi
shl ecx, 1
push ecx
jmp 0x46a777
mov ax, word [esi + 8]
cmp ax, 8
jg 0x46a749
jne 0x46a798
cmp word [esi + 0xa], 2
jne 0x46a798
cmp word [esi + 0xc], 1
jne 0x46a798
cmp ax, 0x10
jne 0x46a75c
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax]
mov dword [esp + 0x20], ecx
jmp 0x46a771
cmp ax, 0x20
jne 0x46a771
mov edx, dword [esp + 0x20]
lea eax, [edx*4]
mov dword [esp + 0x20], eax
imul edi, dword [esp + 0x20]
push edi
call fcn.004b1f43
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x46a798
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x310
ret
mov ecx, dword [esp + 0x20]
push ecx
push str.bytes_per_line_:__d_n
call fcn.004b1ba8
movsx eax, word [esi + 0xc]
xor edx, edx
mov dx, word [esi + 0x46]
push edx
push eax
push str.planar_config_:__d__d_n
call fcn.004b1ba8
mov ecx, dword [esp + 0x44]
push 4
push ecx
call fcn.004b26c8
mov edi, eax
add esp, 0x1c
test edi, edi
mov dword [esp + 0x40], edi
jne 0x46a7f2
test ebx, ebx
je 0x46a7e3
push ebx
call fcn.004b17e0
add esp, 4
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x310
ret
mov ebx, dword [esp + 0x30]
cmp ebx, 1
jne 0x46a803
mov edx, dword [esp + 0x18]
mov dword [edi], edx
jmp 0x46a86c
mov ecx, dword [esp + 0x324]
mov eax, dword [esp + 0x18]
push 0
push eax
mov edx, dword [ecx]
push edx
call fcn.004b263c
add esp, 0xc
cmp word [esi + 0x6c], 3
jne 0x46a84c
test ebx, ebx
jle 0x46a86c
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x324]
push eax
call dword [esi + 0x34]
and eax, 0xffff
add esp, 4
mov dword [ebx], eax
add ebx, 4
dec edi
jne 0x46a82f
jmp 0x46a86c
test ebx, ebx
jle 0x46a86c
mov ebx, edi
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x324]
push ecx
call dword [esi + 0x38]
mov dword [ebx], eax
add esp, 4
add ebx, 4
dec edi
jne 0x46a856
xor edi, edi
cmp word [esp + 0x330], di
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], edi
jne 0x46a888
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x44]
cmp ax, 5
mov dword [esi + 0x14], edx
jne 0x46a8bf
push esi
call fcn.00487930
add esp, 4
test ax, ax
jne 0x46a934
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x310
ret
cmp ax, 2
je 0x46a92b
cmp ax, 3
je 0x46a92b
cmp ax, 4
je 0x46a92b
cmp ax, 7
jne 0x46a8f2
mov edx, dword [esp + 0x324]
lea ecx, [esp + 0x80]
push ecx
push esi
push edx
call fcn.00487620
add esp, 0xc
jmp 0x46a934
cmp ax, 0x8774
jne 0x46a90f
cmp word [esi + 0x48], 0x804c
push esi
jne 0x46a908
call fcn.004873c0
jmp 0x46a931
call fcn.00487050
jmp 0x46a931
cmp ax, 0x80b2
je 0x46a91b
cmp ax, 8
jne 0x46a934
lea eax, [esp + 0x48]
push eax
push esi
call fcn.00486ab0
add esp, 8
jmp 0x46a934
push esi
call fcn.00479710
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp ecx, edi
mov dword [esp + 0x38], edi
jle 0x46b2c4
mov ebx, dword [esp + 0x328]
jmp 0x46a954
mov eax, dword [esp + 0x44]
test bp, bp
jne 0x46b2c4
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x10]
cmp edx, ecx
jl 0x46a98f
cmp word [esp + 0x330], bp
je 0x46a98f
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
inc eax
mov dword [esp + 0x28], eax
xor eax, eax
mov ax, word [esi + 0x62]
mov dword [esp + 0x14], eax
mov eax, ecx
test eax, eax
je 0x46b2c4
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jge 0x46a9ad
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], 0
jmp 0x46a9b3
sub eax, ecx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x324]
mov edi, dword [ecx + edx*4]
mov ecx, dword [eax]
push ecx
call fcn.004b2f35
mov ecx, edi
add esp, 4
sub ecx, eax
test ecx, ecx
jle 0x46a9eb
mov edx, dword [esp + 0x324]
push ecx
push edx
call fcn.00475ec0
add esp, 8
jmp 0x46aa02
jge 0x46aa02
mov eax, dword [esp + 0x324]
push 0
push edi
mov ecx, dword [eax]
push ecx
call fcn.004b263c
add esp, 0xc
mov cx, word [esi + 0x48]
cmp cx, 6
jne 0x46aabb
mov ax, word [esi + 0x6e]
mov edx, 2
cmp ax, dx
jne 0x46aa57
cmp word [esi + 0x70], 1
jne 0x46aa33
mov edi, dword [esi]
imul edi, dword [esp + 0x14]
shl edi, 1
jmp 0x46aac4
cmp ax, dx
jne 0x46aa57
cmp word [esi + 0x70], dx
jne 0x46aa57
mov eax, dword [esi]
imul eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
shl eax, 1
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
jmp 0x46aac4
cmp ax, 4
jne 0x46aaa2
cmp word [esi + 0x70], 1
jne 0x46aa7d
mov eax, dword [esi]
imul eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
shl eax, 1
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
jmp 0x46aac4
cmp ax, 4
jne 0x46aaa2
cmp word [esi + 0x70], dx
jne 0x46aaa2
mov eax, dword [esi]
imul eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 1
cdq
and edx, 7
add eax, edx
mov edi, eax
sar edi, 3
jmp 0x46aac4
mov eax, dword [esi]
imul eax, dword [esp + 0x14]
lea eax, [eax + eax*8]
shl eax, 1
cdq
and edx, 0xf
add eax, edx
mov edi, eax
sar edi, 4
jmp 0x46aac4
mov edi, dword [esp + 0x20]
imul edi, dword [esp + 0x14]
xor eax, eax
mov ax, word [esi + 0x44]
cmp eax, 0x8005
jg 0x46b1a6
je 0x46b007
dec eax
cmp eax, 7
ja case.0x46aae5.6
jmp dword [eax*4 + 0x46b3c0]
lea edx, [esp + 0x80]
push edx
call fcn.004877b0
mov ebp, eax
add esp, 4
test bp, bp
jne 0x46ab46
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x10]
push eax
push ebx
lea edx, [esp + 0x88]
push ecx
push edx
call fcn.00487870
add esp, 0x10
jmp 0x46ab44
push esi
call fcn.00476d70
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x328]
push ecx
push esi
push edi
push ebx
push edx
call fcn.00478760
add esp, 0x18
mov ebp, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
jmp case.0x46aae5.6
push esi
call fcn.00476d70
mov al, byte [esi + 0x4c]
add esp, 4
test al, 1
je 0x46ab86
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x324]
push ecx
push esi
push edi
push ebx
push edx
call fcn.004776a0
add esp, 0x14
jmp 0x46abc8
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x324]
push 1
push eax
push esi
push edi
push ebx
push ecx
call fcn.00476df0
add esp, 0x18
jmp 0x46abc8
push esi
call fcn.00476d70
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x328]
push 1
push eax
push esi
push edi
push ebx
push ecx
call fcn.00478bf0
add esp, 0x1c
mov edx, dword [esp + 0x14]
mov ebp, eax
add dword [esp + 0x10], edx
jmp case.0x46aae5.6
cmp cx, 6
jne 0x46ac4c
mov eax, dword [esp + 0x324]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
push 1
push edi
push edx
call fcn.004b2c2e
add esp, 0x10
test eax, eax
jne 0x46ac05
mov ebp, 4
jmp case.0x46aae5.6
mov edi, dword [esp + 0x14]
mov eax, dword [esi]
push edi
lea ecx, [esi + 0x6e]
push eax
mov eax, dword [esp + 0x24]
lea edx, [esi + 0x78]
push ecx
push edx
push ebx
push eax
call fcn.0046b3e0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34c]
push edi
push ecx
push edx
push eax
call fcn.00405ad0
mov ebp, eax
mov eax, dword [esp + 0x38]
add esp, 0x28
add eax, edi
mov dword [esp + 0x10], eax
jmp case.0x46aae5.6
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x46ac5c
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x34], eax
je case.0x46aae5.6
mov ecx, dword [esp + 0x324]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov edx, dword [ecx]
push edx
push 1
push ebp
push edi
call fcn.004b2c2e
add esp, 0x10
test eax, eax
je 0x46abfb
mov ecx, 2
cmp word [esi + 0x4a], cx
jne 0x46acb7
xor eax, eax
test ebp, ebp
jle 0x46acb7
xor edx, edx
mov dl, byte [eax + edi]
inc eax
cmp eax, ebp
mov dl, byte [edx + 0x4c2220]
mov byte [eax + edi - 1], dl
jl 0x46aca3
mov ax, word [esi + 8]
cmp ax, 4
jne 0x46acef
cmp word [esi + 0xa], ax
jne 0x46acef
sar ebp, 1
test ebp, ebp
mov dword [esp + 0x2c], ebx
jle 0x46adb1
mov edi, ebx
mov ax, word [edi]
push eax
call dword [esi + 0x3c]
mov word [edi], ax
add esp, 4
add edi, 2
dec ebp
jne 0x46acd7
jmp 0x46adb1
cmp ax, 8
jne 0x46ad3a
cmp word [esi + 0xa], cx
jne 0x46ad3a
cmp word [esi + 0xc], 1
jne 0x46ad3a
mov ecx, dword [esp + 0x1c]
mov eax, ebp
cdq
sub eax, edx
mov dword [esp + 0x18], ecx
sar eax, 1
xor ecx, ecx
test eax, eax
jle 0x46adb1
mov edx, dword [esp + 0x18]
mov al, byte [edx]
mov byte [ecx + ebx], al
mov eax, ebp
movsx edi, word [esi + 0xa]
add edx, edi
inc ecx
mov dword [esp + 0x18], edx
cdq
idiv edi
cmp ecx, eax
jl 0x46ad1b
jmp 0x46adb1
cmp ax, 0x10
jne 0x46ad7b
mov eax, dword [esp + 0x1c]
xor edi, edi
sar ebp, 1
test ebp, ebp
mov dword [esp + 0x2c], eax
jle 0x46adb1
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov dx, word [ecx]
push edx
call dword [esi + 0x3c]
xor ecx, ecx
add esp, 4
mov cl, ah
mov byte [edi + ebx], cl
mov ecx, dword [esp + 0x18]
inc edi
add ecx, 2
cmp edi, ebp
mov dword [esp + 0x18], ecx
jl 0x46ad54
jmp 0x46adb1
cmp ax, 0x20
jne 0x46adb1
sar ebp, 2
xor edi, edi
mov dword [esp + 0x18], ebp
test ebp, ebp
jle 0x46adb1
mov ebp, dword [esp + 0x2c]
xor edx, edx
mov dx, word [ebp]
push edx
call dword [esi + 0x40]
shr eax, 0x18
add esp, 4
mov byte [edi + ebx], al
mov eax, dword [esp + 0x18]
inc edi
add ebp, 2
cmp edi, eax
jl 0x46ad92
mov ecx, dword [esp + 0x10]
push 1
mov eax, ecx
inc ecx
push eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x33c]
push eax
push ecx
call fcn.00405ad0
mov ebp, eax
add esp, 0x10
test bp, bp
jne case.0x46aae5.6
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x46ac6c
jmp case.0x46aae5.6
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x46ae3a
mov ebp, dword [esp + 0x324]
lea eax, [esp + 0x3e]
mov edx, dword [ebp]
push edx
push 1
push 2
push eax
call fcn.004b2c2e
mov ax, word [esp + 0x4e]
add esp, 0x10
test al, al
jne 0x46ae2f
cmp ah, 1
jne 0x46ae2f
mov dword [esi + 0x98], 1
push 0xfffffffffffffffe
push ebp
call fcn.00475ec0
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x46ae4a
mov dword [esp + 0x24], ebx
mov eax, dword [esi + 0x98]
push esi
test eax, eax
push edi
je 0x46ae6a
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x32c]
push ecx
push edx
call fcn.00487d20
jmp 0x46ae7c
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x32c]
push eax
push ecx
call fcn.00487980
add esp, 0x10
cmp word [esi + 0x46], 1
mov ebp, eax
je 0x46aea0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push esi
push edx
push eax
push ecx
call fcn.004690b0
add esp, 0x10
test bp, bp
jne case.0x46aae5.6
cmp word [esi + 0x48], 6
jne 0x46aed3
mov edx, dword [esp + 0x14]
mov eax, dword [esi]
push edx
lea ecx, [esi + 0x6e]
push eax
mov eax, dword [esp + 0x24]
lea edx, [esi + 0x78]
push ecx
push edx
push ebx
push eax
call fcn.0046b3e0
add esp, 0x18
jmp 0x46afca
mov ax, word [esi + 8]
cmp ax, 4
jne 0x46af0d
cmp word [esi + 0xa], ax
jne 0x46af0d
sar edi, 1
test edi, edi
mov dword [esp + 0x2c], ebx
jle 0x46afca
mov ebp, ebx
mov cx, word [ebp]
push ecx
call dword [esi + 0x3c]
mov word [ebp], ax
add esp, 4
add ebp, 2
dec edi
jne 0x46aef3
jmp 0x46afca
cmp ax, 8
jne 0x46af47
cmp word [esi + 0xa], 2
jne 0x46af47
cmp word [esi + 0xc], 1
jne 0x46af47
mov ebp, dword [esp + 0x1c]
xor eax, eax
sar edi, 1
test edi, edi
jle 0x46afca
mov dl, byte [ebp]
mov byte [eax + ebx], dl
movsx ecx, word [esi + 0xa]
add ebp, ecx
inc eax
cmp eax, edi
jl 0x46af31
jmp 0x46afca
cmp ax, 0x10
jne 0x46af95
mov edx, dword [esp + 0x1c]
mov eax, edi
sar eax, 1
xor ebp, ebp
mov dword [esp + 0x2c], edx
test eax, eax
mov dword [esp + 0x18], eax
jle 0x46afca
mov edi, edx
cmp word [esi + 0x46], 1
je 0x46af76
xor ecx, ecx
mov cl, byte [edi + 1]
mov byte [ebx + ebp], cl
jmp 0x46af8b
mov dx, word [edi]
push edx
call dword [esi + 0x3c]
add esp, 4
xor ecx, ecx
mov cl, ah
mov eax, dword [esp + 0x18]
mov byte [ebx + ebp], cl
inc ebp
add edi, 2
cmp ebp, eax
jl 0x46af65
jmp 0x46afca
cmp ax, 0x20
jne 0x46afca
sar edi, 2
xor ebp, ebp
mov dword [esp + 0x18], edi
test edi, edi
jle 0x46afca
mov edi, dword [esp + 0x2c]
xor edx, edx
mov dx, word [edi]
push edx
call dword [esi + 0x40]
shr eax, 0x18
add esp, 4
mov byte [ebx + ebp], al
mov eax, dword [esp + 0x18]
inc ebp
add edi, 2
cmp ebp, eax
jl 0x46afac
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x338]
push ecx
push edx
push eax
call fcn.00405ad0
mov ebp, eax
add esp, 0x10
test bp, bp
jne case.0x46aae5.6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x10], eax
jmp case.0x46aae5.6
cmp cx, 6
jne 0x46b075
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x324]
push edi
push edx
push eax
call fcn.00475070
mov ebp, eax
add esp, 0xc
test bp, bp
jne case.0x46aae5.6
mov edi, dword [esp + 0x14]
mov ecx, dword [esi]
push edi
lea edx, [esi + 0x6e]
push ecx
mov ecx, dword [esp + 0x24]
lea eax, [esi + 0x78]
push edx
push eax
push ebx
push ecx
call fcn.0046b3e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34c]
push edi
push edx
push eax
push ecx
call fcn.00405ad0
mov ebp, eax
mov eax, dword [esp + 0x38]
add esp, 0x28
add eax, edi
mov dword [esp + 0x10], eax
jmp case.0x46aae5.6
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x46b085
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x34], eax
je case.0x46aae5.6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x324]
push edx
push eax
push ecx
call fcn.00475070
mov ebp, eax
add esp, 0xc
test bp, bp
jne case.0x46aae5.6
cmp word [esi + 0x4a], 2
jne 0x46b0df
mov edi, dword [esp + 0x20]
xor eax, eax
test edi, edi
jle 0x46b0df
xor edx, edx
mov dl, byte [eax + ebx]
inc eax
cmp eax, edi
mov cl, byte [edx + 0x4c2220]
mov byte [eax + ebx - 1], cl
jl 0x46b0cb
mov ax, word [esi + 8]
cmp ax, 0x10
jne 0x46b12a
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
sar ebp, 1
xor edi, edi
mov dword [esp + 0x2c], edx
test ebp, ebp
jle 0x46b164
mov eax, edx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov dx, word [ecx]
push edx
call dword [esi + 0x3c]
xor ecx, ecx
add esp, 4
mov cl, ah
mov byte [edi + ebx], cl
mov ecx, dword [esp + 0x18]
inc edi
add ecx, 2
cmp edi, ebp
mov dword [esp + 0x18], ecx
jl 0x46b103
jmp 0x46b164
cmp ax, 0x20
jne 0x46b164
mov eax, dword [esp + 0x20]
xor edi, edi
sar eax, 2
test eax, eax
mov dword [esp + 0x18], eax
jle 0x46b164
mov ebp, dword [esp + 0x2c]
xor edx, edx
mov dx, word [ebp]
push edx
call dword [esi + 0x40]
shr eax, 0x18
add esp, 4
mov byte [edi + ebx], al
mov eax, dword [esp + 0x18]
inc edi
add ebp, 2
cmp edi, eax
jl 0x46b145
mov ecx, dword [esp + 0x10]
push 1
mov eax, ecx
inc ecx
push eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x33c]
push eax
push ecx
call fcn.00405ad0
mov ebp, eax
add esp, 0x10
test bp, bp
jne case.0x46aae5.6
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x46b095
jmp case.0x46aae5.6
cmp eax, 0x8774
jg 0x46b278
je 0x46b21f
cmp eax, 0x8029
je 0x46b1f9
cmp eax, 0x80b2
jne case.0x46aae5.6
mov edx, dword [esp + 0x334]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push esi
push eax
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x33c]
lea eax, [esp + 0x60]
push edx
push eax
push ecx
call fcn.00486ae0
add esp, 0x24
jmp 0x46abc8
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x324]
push eax
push esi
push ebx
push ecx
push edi
push edx
call fcn.00488070
jmp 0x46b2a0
cmp cx, 0x804c
jne 0x46b24f
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x328]
push esi
push ebx
push ecx
push edx
push eax
call fcn.004873f0
add esp, 0x18
jmp 0x46abc8
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x328]
push esi
push ebx
push edx
push eax
push ecx
call fcn.00487080
add esp, 0x18
jmp 0x46abc8
cmp eax, 0x8775
jne case.0x46aae5.6
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x324]
push eax
push esi
push ebx
push ecx
push edi
push edx
call fcn.00486ca0
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
add edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x46a950
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x46b2d5
push eax
call fcn.004b17e0
add esp, 4
mov eax, dword [esp + 0x40]
push eax
call fcn.004b17e0
mov ax, word [esi + 0x44]
add esp, 4
cmp ax, 5
jne 0x46b303
push esi
call fcn.00487960
add esp, 4
mov ax, bp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
cmp ax, 2
je 0x46b3a7
cmp ax, 3
je 0x46b3a7
cmp ax, 4
je 0x46b3a7
cmp ax, 7
jne 0x46b345
lea ecx, [esp + 0x80]
push ecx
call fcn.00487920
add esp, 4
mov ax, bp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
cmp ax, 0x8774
jne 0x46b380
cmp word [esi + 0x48], 0x804c
push esi
jne 0x46b36a
call fcn.00487600
add esp, 4
mov ax, bp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
call fcn.004873a0
add esp, 4
mov ax, bp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
cmp ax, 0x80b2
je 0x46b38c
cmp ax, 8
jne 0x46b3b0
lea edx, [esp + 0x48]
push edx
call fcn.00486c90
add esp, 4
mov ax, bp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push esi
call fcn.00479790
add esp, 4
pop edi
mov ax, bp
pop esi
pop ebp
pop ebx
add esp, 0x310
ret