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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4a838e
push eax
mov eax, 0x160c
mov dword fs:[0], esp
call fcn.00496660
push ebx
push ebp
mov ebp, dword [esp + 0x1624]
push esi
push edi
xor ebx, ebx
push ebx
mov dword [esp + 0x54], ecx
push ebx
mov ecx, ebp
mov byte [esp + 0x1b], bl
call fcn.0048c330
push 1
push 0xc
lea eax, [esp + 0x5c]
push eax
mov ecx, ebp
call fcn.0048c290
mov al, byte [esp + 0x54]
cmp al, 0x74
jne 0x42b197
cmp byte [esp + 0x55], 0x64
jne 0x42aed7
push 0x114
call fcn.00496f9b
add esp, 4
mov dword [esp + 0x44], eax
cmp eax, ebx
mov dword [esp + 0x1624], ebx
je 0x42ae97
mov ecx, eax
call fcn.0048b760
mov esi, eax
jmp 0x42ae99
xor esi, esi
push 2
push str.teledisk.___
mov dword [esp + 0x1c], esi
mov dword [esp + 0x162c], 0xffffffff
call fcn.004893e0
add esp, 4
push eax
mov ecx, esi
call fcn.0048b7c0
test al, al
jne 0x42aef4
cmp esi, ebx
je 0x42aed7
mov ecx, esi
call fcn.0048bcb0
push esi
call fcn.0048d4e6
add esp, 4
xor al, al
mov ecx, dword [esp + 0x161c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1618
ret 4
mov ecx, 0x9d
mov eax, 0x10001
mov edi, 0x50731c
mov word [0x507804], bx
mov word [0x88884c], bx
mov word [0x888d36], bx
mov word [0x888f38], bx
mov byte [0x88884a], 0
xor edx, edx
rep stosd dword es:[edi], eax
lea ecx, [edx + 0x273]
mov word [edx*2 + 0x888850], cx
mov word [edx*2 + 0x889422], dx
inc edx
cmp edx, 0x13a
jl 0x42af2a
xor eax, eax
mov edx, 0x13a
xor ecx, ecx
mov si, word [eax*2 + 0x50731e]
add si, word [eax*2 + 0x50731c]
mov word [eax*2 + 0x888f3e], dx
mov word [ecx + 0x888ac4], ax
mov word [eax*2 + 0x888f3c], dx
mov word [ecx + 0x507590], si
add eax, 2
add ecx, 2
inc edx
cmp ecx, 0x270
jle 0x42af52
mov ecx, 0x3f1
mov eax, 0x20202020
mov edi, 0x88780c
rep stosd dword es:[edi], eax
mov cx, 0xfc4
mov word [0x507802], 0xffff
mov word [0x889420], bx
mov word [0x88884e], cx
mov dx, word [0x887808]
lea esi, [esp + 0xc1c]
xor edi, edi
test bx, bx
jne 0x42b0a0
mov ebx, dword [0x888d34]
cmp bx, 0x273
jae 0x42b00a
push ebp
call fcn.0042b6a0
add esp, 4
test eax, eax
jl 0x42b12a
add eax, ebx
and eax, 0xffff
xor ebx, ebx
mov bx, word [eax*2 + 0x888850]
cmp bx, 0x273
jb 0x42afe1
add ebx, 0xfd8d
mov edx, ebx
and edx, 0xffff
push edx
call fcn.0042b7b0
add esp, 4
test bx, bx
jl 0x42b12a
cmp bx, 0x100
jge 0x42b069
mov cx, word [0x88884e]
mov dx, word [0x887808]
xor eax, eax
mov byte [esi], bl
mov ax, cx
inc esi
inc cx
mov byte [eax + 0x88780c], bl
mov bx, word [0x88884c]
and ecx, 0xfff
mov word [0x88884e], cx
inc edi
jmp 0x42b117
push ebp
call fcn.0042b9f0
add esp, 4
test ax, ax
jl 0x42b12a
mov cx, word [0x88884e]
xor edx, edx
mov dx, cx
sub dx, ax
dec edx
and edx, 0xfff
mov word [0x888848], dx
add ebx, 0xffffff03
jmp 0x42b106
cmp dx, bx
jae 0x42b103
cmp edi, 0x200
jge 0x42b0f7
mov eax, dword [0x888848]
mov ebp, dword [0x887808]
add ebp, eax
and ebp, 0xfff
movzx ax, byte [ebp + 0x88780c]
xor ebp, ebp
inc esi
inc dx
mov byte [esi - 1], al
mov bp, cx
inc cx
mov word [0x887808], dx
mov byte [ebp + 0x88780c], al
and ecx, 0xfff
inc edi
cmp dx, bx
jb 0x42b0a5
mov word [0x88884e], cx
jmp 0x42b103
cmp dx, bx
mov word [0x88884e], cx
jb 0x42b117
xor bx, bx
xor dx, dx
mov word [0x88884c], bx
mov word [0x887808], dx
cmp edi, 0x200
mov ebp, dword [esp + 0x162c]
jl 0x42afcb
test edi, edi
jle 0x42b155
push 1
push edi
lea ecx, [esp + 0xc24]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0048c2e0
mov bx, word [0x88884c]
mov cx, word [0x88884e]
jmp 0x42afbb
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.0048bcb0
test esi, esi
je 0x42b174
mov ecx, esi
call fcn.0048bcb0
push esi
call fcn.0048d4e6
add esp, 4
mov ecx, ebp
mov byte [esp + 0x13], 1
call fcn.0048bcb0
push 1
push str.teledisk.___
mov ecx, ebp
call fcn.0048b7c0
test al, al
jne 0x42b1aa
jmp 0x42aed7
cmp al, 0x54
jne 0x42aed7
cmp byte [esp + 0x55], 0x44
jne 0x42aed7
test byte [esp + 0x5b], 0x80
je 0x42b1e0
push 1
push 0xa
lea edx, [esp + 0x68]
push edx
mov ecx, ebp
call fcn.0048c290
mov eax, dword [esp + 0x62]
xor ecx, ecx
mov ch, ah
and eax, 0xff
push 1
and ecx, 0xffff
or ecx, eax
push ecx
mov ecx, ebp
call fcn.0048c330
push 0x4ae920
lea edx, [esp + 0x70]
xor eax, eax
push 0x11
mov ecx, 0xac
lea edi, [esp + 0x74]
push edx
rep stosd dword es:[edi], eax
call fcn.00489320
mov eax, dword [esp + 0x5c]
lea ebp, [eax + 4]
mov dword [eax + 0x40020c], 0
mov byte [esp + 0x92], 0
mov ecx, 0xac
lea esi, [esp + 0x78]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x40020c]
add esp, 0xc
mov ebx, 0x2b0
add ecx, ebx
push 1
mov dword [eax + 0x40020c], ecx
mov ecx, dword [esp + 0x1630]
push 4
lea eax, [esp + 0x28]
xor esi, esi
push eax
mov dword [esp + 0x54], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], ebx
call fcn.0048c290
mov cl, byte [esp + 0x20]
cmp cl, 0xff
je 0x42b61e
mov edx, dword [esp + 0x1c]
lea eax, [edx*4]
inc edx
mov dword [esp + 0x1c], edx
mov byte [esp + eax + 0x8c], bl
lea eax, [esp + eax + 0x6c]
mov edx, ebx
shr edx, 8
mov byte [eax + 0x21], dl
mov edx, ebx
shr edx, 0x10
mov byte [eax + 0x22], dl
mov edx, ebx
shr edx, 0x18
mov byte [eax + 0x23], dl
cmp byte [esp + 0x5d], 1
jne 0x42b2a8
inc dword [esp + 0x1c]
test cl, cl
mov dword [esp + 0x4c], 0
jbe 0x42b5f4
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x41c]
rep stosd dword es:[edi], eax
push 1
mov ecx, 0x200
lea edi, [esp + 0xe20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1630]
push 6
lea eax, [esp + 0x44]
push eax
call fcn.0048c290
mov al, byte [esp + 0x3d]
mov dl, byte [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov byte [esp + 0x25], al
movzx ax, byte [esp + 0x20]
mov dword [esp + 0x28], ecx
mov byte [esp + 0x28], al
mov al, byte [esp + 0x59]
mov byte [esp + 0x24], dl
xor edx, edx
shr al, 1
and al, 0x40
mov dl, ah
mov byte [esp + 0x29], dl
mov dl, byte [esp + 0x40]
mov byte [esp + 0x2a], al
mov dword [esp + 0x2c], ecx
mov al, dl
and al, 4
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3e]
shl al, 2
test dl, 2
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], ch
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], 0xb0
jne 0x42b354
mov byte [esp + 0x2c], al
mov cl, ch
and ecx, 3
mov ax, word [ecx*4 + 0x4ae2e8]
xor ecx, ecx
test dl, 0x30
mov cl, ah
mov byte [esp + 0x32], al
mov byte [esp + 0x33], cl
je 0x42b386
mov byte [esp + 0x2c], 0xf0
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], 0
jmp 0x42b52f
mov esi, dword [esp + 0x162c]
mov ecx, esi
call fcn.0048c140
mov ecx, esi
mov edi, eax
call fcn.0048c140
shl eax, 8
lea ebx, [edi + eax - 1]
mov ecx, esi
mov dword [esp + 0x44], ebx
call fcn.0048c140
push 1
push ebx
lea ecx, [esp + 0x424]
push ecx
mov ecx, esi
mov edi, eax
xor ebp, ebp
call fcn.0048c290
test edi, edi
jne 0x42b3ec
mov ecx, ebx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x41c]
lea edi, [esp + 0xe1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42b52f
cmp edi, 1
jne 0x42b44f
mov cl, byte [esp + 0x41d]
mov al, byte [esp + 0x41c]
mov byte [esp + 0x19], cl
mov byte [esp + 0x18], al
mov byte [esp + 0x1b], 0
mov byte [esp + 0x1a], 0
mov ecx, dword [esp + 0x18]
mov edx, ecx
dec ecx
test edx, edx
mov dword [esp + 0x18], ecx
je 0x42b52f
mov dl, byte [esp + 0x41f]
mov bl, byte [esp + 0x41e]
lea eax, [esp + 0xe1c]
mov byte [eax], bl
inc eax
mov byte [eax], dl
inc eax
mov esi, ecx
dec ecx
test esi, esi
jne 0x42b439
mov dword [esp + 0x18], ecx
jmp 0x42b52f
cmp edi, 2
jne 0x42b5f0
xor edx, edx
test ebx, ebx
jle 0x42b52f
xor ecx, ecx
mov cl, byte [esp + edx + 0x41c]
xor ebx, ebx
mov bl, byte [esp + edx + 0x41d]
inc edx
inc edx
test ecx, ecx
mov dword [esp + 0x38], ebx
jne 0x42b4b0
mov eax, ebx
dec ebx
test eax, eax
je 0x42b525
lea eax, [ebx + 1]
mov ecx, eax
mov ebx, ecx
shr ecx, 2
lea edi, [esp + ebp + 0xe1c]
lea esi, [esp + edx + 0x41c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
add edx, eax
jmp 0x42b525
cmp ecx, 5
jge 0x42b52f
mov esi, ecx
dec ecx
cmp esi, 1
mov eax, 2
jle 0x42b4cb
add eax, eax
dec ecx
jne 0x42b4c2
test eax, eax
jle 0x42b4ef
mov ecx, eax
mov ebx, ecx
shr ecx, 2
lea esi, [esp + edx + 0x41c]
lea edi, [esp + 0x31c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add edx, eax
mov ecx, ebx
dec ebx
test ecx, ecx
je 0x42b525
inc ebx
mov dword [esp + 0x38], ebx
test eax, eax
jle 0x42b51f
mov ecx, eax
mov ebx, ecx
shr ecx, 2
lea edi, [esp + ebp + 0xe1c]
lea esi, [esp + 0x31c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add ebp, eax
dec dword [esp + 0x38]
jne 0x42b4fb
cmp edx, dword [esp + 0x44]
jl 0x42b462
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x40020c]
lea ecx, [eax + 0x10]
cmp ecx, 0x380000
ja 0x42aed7
mov ecx, dword [esp + 0x24]
lea eax, [eax + edx + 4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov esi, dword [edx + 0x40020c]
mov ecx, dword [esp + 0x32]
xor eax, eax
mov ah, byte [esp + 0x33]
add esi, 0x10
and ecx, 0xff
mov edi, esi
mov dword [edx + 0x40020c], esi
and eax, 0xffff
or eax, ecx
lea ecx, [eax + edi]
cmp ecx, 0x380000
ja 0x42aed7
mov ebx, dword [esp + 0x48]
add edi, ebx
mov ecx, eax
mov ebx, ecx
shr ecx, 2
lea esi, [esp + 0xe1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [edx + 0x40020c]
mov ecx, dword [esp + 0x20]
add ebx, eax
mov dword [edx + 0x40020c], ebx
mov edx, dword [esp + 0x14]
lea eax, [edx + eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
inc eax
and ecx, 0xff
cmp eax, ecx
mov dword [esp + 0x4c], eax
jl 0x42b2b8
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x162c]
push 1
push 4
lea edx, [esp + 0x28]
push edx
call fcn.0048c290
mov cl, byte [esp + 0x20]
cmp cl, 0xff
jne 0x42b26a
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x48]
mov al, byte [esp + 0x59]
and al, 3
cmp al, 2
jne 0x42b632
mov byte [esp + 0x87], 0x20
jmp 0x42b646
and esi, 0xfffffffe
cmp esi, 0x78
setle cl
dec ecx
and ecx, 0x10
mov byte [esp + 0x87], cl
mov eax, ebx
shr eax, 0x10
mov edx, ebx
mov byte [esp + 0x88], bl
mov byte [esp + 0x8a], al
mov al, byte [esp + 0x13]
shr edx, 8
shr ebx, 0x18
test al, al
mov ecx, 0xac
lea esi, [esp + 0x6c]
mov edi, ebp
mov byte [esp + 0x89], dl
mov byte [esp + 0x8b], bl
rep movsd dword es:[edi], dword [esi]
je 0x42b691
push str.teledisk.___
call fcn.0048b7a0
add esp, 4
mov al, 1
jmp 0x42aed9