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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4bae7e
push eax
mov eax, 0x160c
mov dword fs:[0], esp
call fcn.004a8f70
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.0049eeb0
push 1
push 0xc
lea eax, [esp + 0x5c]
push eax
mov ecx, ebp
call fcn.0049ee10
mov al, byte [esp + 0x54]
cmp al, 0x74
jne 0x429347
cmp byte [esp + 0x55], 0x64
jne 0x429087
push 0x114
call fcn.004a98ab
add esp, 4
mov dword [esp + 0x44], eax
cmp eax, ebx
mov dword [esp + 0x1624], ebx
je 0x429047
mov ecx, eax
call fcn.0049e2e0
mov esi, eax
jmp 0x429049
xor esi, esi
push 2
push str.teledisk.___
mov dword [esp + 0x1c], esi
mov dword [esp + 0x162c], 0xffffffff
call fcn.0049c650
add esp, 4
push eax
mov ecx, esi
call fcn.0049e380
test al, al
jne 0x4290a4
cmp esi, ebx
je 0x429087
mov ecx, esi
call fcn.0049e2f0
push esi
call fcn.0049fdf6
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, 0x523ce8
mov word [0x5241d0], bx
mov word [0x8a5218], bx
mov word [0x8a5702], bx
mov word [0x8a5904], bx
mov byte [0x8a5216], 0
xor edx, edx
rep stosd dword es:[edi], eax
lea ecx, [edx + 0x273]
mov word [edx*2 + 0x8a521c], cx
mov word [edx*2 + 0x8a5dee], dx
inc edx
cmp edx, 0x13a
jl 0x4290da
xor eax, eax
mov edx, 0x13a
xor ecx, ecx
mov si, word [eax*2 + 0x523cea]
add si, word [eax*2 + 0x523ce8]
mov word [eax*2 + 0x8a590a], dx
mov word [ecx + 0x8a5490], ax
mov word [eax*2 + 0x8a5908], dx
mov word [ecx + 0x523f5c], si
add eax, 2
add ecx, 2
inc edx
cmp ecx, 0x270
jle 0x429102
mov ecx, 0x3f1
mov eax, 0x20202020
mov edi, 0x8a41d8
rep stosd dword es:[edi], eax
mov cx, 0xfc4
mov word [0x5241ce], 0xffff
mov word [0x8a5dec], bx
mov word [0x8a521a], cx
mov dx, word [0x8a41d4]
lea esi, [esp + 0xc1c]
xor edi, edi
test bx, bx
jne 0x429250
mov ebx, dword [0x8a5700]
cmp bx, 0x273
jae 0x4291ba
push ebp
call fcn.00429850
add esp, 4
test eax, eax
jl 0x4292da
add eax, ebx
and eax, 0xffff
xor ebx, ebx
mov bx, word [eax*2 + 0x8a521c]
cmp bx, 0x273
jb 0x429191
add ebx, 0xfd8d
mov edx, ebx
and edx, 0xffff
push edx
call fcn.00429960
add esp, 4
test bx, bx
jl 0x4292da
cmp bx, 0x100
jge 0x429219
mov cx, word [0x8a521a]
mov dx, word [0x8a41d4]
xor eax, eax
mov byte [esi], bl
mov ax, cx
inc esi
inc cx
mov byte [eax + 0x8a41d8], bl
mov bx, word [0x8a5218]
and ecx, 0xfff
mov word [0x8a521a], cx
inc edi
jmp 0x4292c7
push ebp
call fcn.00429ba0
add esp, 4
test ax, ax
jl 0x4292da
mov cx, word [0x8a521a]
xor edx, edx
mov dx, cx
sub dx, ax
dec edx
and edx, 0xfff
mov word [0x8a5214], dx
add ebx, 0xffffff03
jmp 0x4292b6
cmp dx, bx
jae 0x4292b3
cmp edi, 0x200
jge 0x4292a7
mov eax, dword [0x8a5214]
mov ebp, dword [0x8a41d4]
add ebp, eax
and ebp, 0xfff
movzx ax, byte [ebp + 0x8a41d8]
xor ebp, ebp
inc esi
inc dx
mov byte [esi - 1], al
mov bp, cx
inc cx
mov word [0x8a41d4], dx
mov byte [ebp + 0x8a41d8], al
and ecx, 0xfff
inc edi
cmp dx, bx
jb 0x429255
mov word [0x8a521a], cx
jmp 0x4292b3
cmp dx, bx
mov word [0x8a521a], cx
jb 0x4292c7
xor bx, bx
xor dx, dx
mov word [0x8a5218], bx
mov word [0x8a41d4], dx
cmp edi, 0x200
mov ebp, dword [esp + 0x162c]
jl 0x42917b
test edi, edi
jle 0x429305
push 1
push edi
lea ecx, [esp + 0xc24]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0049ee60
mov bx, word [0x8a5218]
mov cx, word [0x8a521a]
jmp 0x42916b
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.0049e2f0
test esi, esi
je 0x429324
mov ecx, esi
call fcn.0049e2f0
push esi
call fcn.0049fdf6
add esp, 4
mov ecx, ebp
mov byte [esp + 0x13], 1
call fcn.0049e2f0
push 1
push str.teledisk.___
mov ecx, ebp
call fcn.0049e380
test al, al
jne 0x42935a
jmp 0x429087
cmp al, 0x54
jne 0x429087
cmp byte [esp + 0x55], 0x44
jne 0x429087
test byte [esp + 0x5b], 0x80
je 0x429390
push 1
push 0xa
lea edx, [esp + 0x68]
push edx
mov ecx, ebp
call fcn.0049ee10
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.0049eeb0
push 0x4c0a68
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.0049c4e0
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.0049ee10
mov cl, byte [esp + 0x20]
cmp cl, 0xff
je 0x4297ce
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 0x429458
inc dword [esp + 0x1c]
test cl, cl
mov dword [esp + 0x4c], 0
jbe 0x4297a4
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.0049ee10
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 0x429504
mov byte [esp + 0x2c], al
mov cl, ch
and ecx, 3
mov ax, word [ecx*4 + 0x4c0440]
xor ecx, ecx
test dl, 0x30
mov cl, ah
mov byte [esp + 0x32], al
mov byte [esp + 0x33], cl
je 0x429536
mov byte [esp + 0x2c], 0xf0
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], 0
jmp 0x4296df
mov esi, dword [esp + 0x162c]
mov ecx, esi
call fcn.0049ecc0
mov ecx, esi
mov edi, eax
call fcn.0049ecc0
shl eax, 8
lea ebx, [edi + eax - 1]
mov ecx, esi
mov dword [esp + 0x44], ebx
call fcn.0049ecc0
push 1
push ebx
lea ecx, [esp + 0x424]
push ecx
mov ecx, esi
mov edi, eax
xor ebp, ebp
call fcn.0049ee10
test edi, edi
jne 0x42959c
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 0x4296df
cmp edi, 1
jne 0x4295ff
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 0x4296df
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 0x4295e9
mov dword [esp + 0x18], ecx
jmp 0x4296df
cmp edi, 2
jne 0x4297a0
xor edx, edx
test ebx, ebx
jle 0x4296df
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 0x429660
mov eax, ebx
dec ebx
test eax, eax
je 0x4296d5
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 0x4296d5
cmp ecx, 5
jge 0x4296df
mov esi, ecx
dec ecx
cmp esi, 1
mov eax, 2
jle 0x42967b
add eax, eax
dec ecx
jne 0x429672
test eax, eax
jle 0x42969f
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 0x4296d5
inc ebx
mov dword [esp + 0x38], ebx
test eax, eax
jle 0x4296cf
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 0x4296ab
cmp edx, dword [esp + 0x44]
jl 0x429612
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x40020c]
lea ecx, [eax + 0x10]
cmp ecx, 0x380000
ja 0x429087
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 0x429087
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 0x429468
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x162c]
push 1
push 4
lea edx, [esp + 0x28]
push edx
call fcn.0049ee10
mov cl, byte [esp + 0x20]
cmp cl, 0xff
jne 0x42941a
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x48]
mov al, byte [esp + 0x59]
and al, 3
cmp al, 2
jne 0x4297e2
mov byte [esp + 0x87], 0x20
jmp 0x4297f6
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 0x429841
push str.teledisk.___
call fcn.0049e360
add esp, 4
mov al, 1
jmp 0x429089