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

Disassembly:
push 0xffffffffffffffff
push 0x4fb22b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x828
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x34], ebp
call fcn.0046b880
xor ebx, ebx
mov dword [ebp + 0xb8], ebx
mov dword [ebp], 0x50196c
mov al, byte [0xcecb04]
mov byte [ebp + 0xec], al
mov cl, byte [0xcecb05]
mov byte [ebp + 0xed], cl
mov dl, byte [0xcecb06]
mov byte [ebp + 0xee], dl
mov byte [ebp + 0xef], bl
mov edi, dword [esp + 0x84c]
mov dword [esp + 0x840], ebx
push edi
mov dword [ebp], 0x501c6c
mov dword [esp + 0x14], ebx
call fcn.004d9930
lea eax, [eax + eax + 2]
push eax
call fcn.004ed8ee
push edi
push eax
mov dword [ebp + 0xe4], eax
call fcn.004d9a60
mov esi, dword [esp + 0x860]
mov cx, word [esp + 0x864]
mov word [ebp + 0xe8], si
mov word [ebp + 0xea], cx
mov dword [ebp + 0xd8], ebx
mov dword [ebp + 0xd4], ebx
mov dword [ebp + 0xd0], ebx
mov dword [ebp + 0xcc], ebx
mov dword [ebp + 0xe0], ebx
mov dword [ebp + 0xdc], ebx
mov al, byte [0xd423ee]
add esp, 0x10
cmp al, 2
mov word [esp + 0x38], bx
jne 0x4310ed
lea edx, [esp + 0x38]
push 0xd423d0
push edx
call fcn.004d9b20
lea eax, [esp + 0x40]
push 0x51bf50
push eax
call fcn.004d9bc0
add esp, 0x10
jmp 0x43110b
cmp al, 3
jne 0x43110b
lea ecx, [esp + 0x38]
push str.You_see:
push ecx
call fcn.004d9b20
add esp, 8
mov dword [esp + 0x10], 1
lea edx, [esp + 0x38]
push edi
push edx
call fcn.004d9b80
mov dl, byte [0xd423ee]
mov eax, esi
and eax, 0xffff
xor ecx, ecx
cmp dl, 1
lea edx, [esp + 0x40]
sete cl
push ecx
push eax
push edx
mov dword [esp + 0x40], eax
call fcn.004d6040
mov edi, 0x636af0
or ecx, 0xffffffff
xor eax, eax
mov byte [0xd423ee], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0xd423d0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x860]
mov dword [ebp + 8], str.unicode_bark_gump
push ecx
call fcn.004d9930
mov edi, dword [esp + 0x860]
mov edx, dword [esp + 0x874]
add esp, 0x18
cmp edi, ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0xc4], edx
jne 0x43120a
mov eax, dword [0x80c350]
mov dword [esp + 0x14], 0x140
cmp eax, ebx
mov dword [ebp + 0xbc], eax
mov dword [ebp + 0xc0], ebx
je 0x4311cb
mov dword [eax + 0xc0], ebp
mov dword [ebp + 0xc8], ebx
mov dword [0x80c350], ebp
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], 0x1cc
call fcn.004ab310
mov ecx, dword [0x557ce8]
mov dword [esp + 0x10], eax
cmp eax, ecx
lea eax, [esp + 0x10]
jl 0x4311fd
mov eax, 0x557ce8
mov ecx, dword [eax]
sub ecx, 0x30
mov dword [ebp + 0x34], ecx
jmp 0x431372
mov edx, dword [edi + 0x70]
mov dword [esp + 0x14], 0xc8
mov eax, edx
mov dword [ebp + 0xbc], edx
cmp eax, ebx
mov dword [ebp + 0xc0], ebx
je 0x43122d
mov dword [eax + 0xc0], ebp
mov dword [ebp + 0xc8], edi
mov eax, dword [edi]
mov ecx, edi
mov dword [edi + 0x70], ebp
call dword [eax + 0x2c]
test eax, eax
je 0x4312b7
mov eax, dword [edi + 0x84]
cmp eax, ebx
je 0x4312b7
mov ecx, dword [eax + 0xb4]
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jne 0x43126f
cmp ebp, ebx
je 0x431754
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
jmp 0x431754
lea esi, [ebp + 0xac]
lea eax, [ebp + 0xa8]
push esi
push eax
mov dword [esi], ebx
mov dword [eax], ebx
call fcn.0046a420
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0xa8]
mov ecx, dword [eax + 0x74]
add edx, ecx
mov dword [ebp + 0xa8], edx
mov edx, dword [eax + 0x78]
mov eax, dword [esi]
add eax, edx
mov dword [esi], eax
mov eax, dword [ebp + 0xa8]
mov ecx, dword [esi]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], ecx
jmp 0x431372
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x24]
test eax, eax
je 0x43130a
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 8]
mov esi, dword [0x56c7dc]
add eax, edx
sar eax, 1
sub eax, esi
mov dword [ebp + 0xa8], eax
mov ecx, dword [edi + 0xc]
sub ecx, dword [0x56c7d8]
lea eax, [ecx + 4]
mov dword [ebp + 0xac], eax
mov edx, dword [edi + 0x1d4]
add edx, eax
mov eax, dword [ebp + 0xa8]
mov ecx, edx
mov dword [ebp + 0xac], edx
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], ecx
jmp 0x431372
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 8]
mov esi, dword [0x56c7dc]
add edx, ecx
sar edx, 1
sub edx, esi
mov dword [ebp + 0xa8], edx
mov eax, dword [edi + 0xc]
sub eax, dword [0x56c7d8]
add eax, 4
mov dword [ebp + 0xac], eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x431360
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x68]
test eax, eax
jne 0x431360
mov eax, dword [0xc32ff8]
mov ecx, dword [eax + 0x74]
mov dword [ebp + 0x30], ecx
mov edx, dword [0xc32ff8]
mov eax, dword [edx + 0x78]
mov dword [ebp + 0x34], eax
jmp 0x431372
mov ecx, dword [ebp + 0xa8]
mov edx, dword [ebp + 0xac]
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x34], edx
push str.framedata_for_CBarkGump
push 8
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], 1
call fcn.004b9f50
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov dword [ebp + 0x40], eax
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x20], eax
add eax, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
call fcn.004db440
mov dword [esp + 0x18], eax
mov eax, dword [0xcf7e80]
push eax
call fcn.004db450
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x858]
lea ecx, [esp + 0x3c]
lea esi, [ebp + 0x24]
lea ebx, [ebp + 0x20]
push ecx
push esi
push ebx
push edx
push eax
call fcn.004dca60
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004db450
mov edx, dword [ebx]
mov ecx, dword [esi]
add edx, 2
add ecx, 2
mov eax, 0x88888889
mov dword [ebx], edx
imul ecx
add edx, ecx
mov dword [esi], ecx
mov ecx, dword [ebp + 0xc8]
add esp, 0x24
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
test ecx, ecx
mov dword [esp + 0x28], edx
je 0x431433
mov edx, dword [ecx]
call dword [edx + 0x2c]
test eax, eax
je 0x431433
mov eax, dword [ebp + 0xc8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
jne 0x431449
call fcn.004ab300
dec eax
mov dword [esp + 0x10], eax
call fcn.004ab310
dec eax
mov dword [esp + 0x14], eax
jmp 0x43145f
mov ecx, dword [0x557ce4]
mov edx, dword [0x557ce8]
dec ecx
dec edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
test edi, edi
je 0x431474
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x30]
cdq
sub eax, edx
sar eax, 1
neg eax
add ecx, eax
mov dword [ebp + 0x30], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebx]
mov dword [ebp + 0xb0], eax
lea edx, [ecx + eax]
mov eax, dword [esp + 0x10]
cmp edx, eax
jle 0x43148f
sub eax, ecx
mov dword [ebp + 0x30], eax
mov eax, dword [ebp + 0x30]
test eax, eax
jge 0x43149d
mov dword [ebp + 0x30], 0
mov eax, dword [esi]
mov edi, dword [ebp + 0x34]
sub edi, eax
mov dword [ebp + 0x34], edi
mov edx, edi
mov edi, eax
mov dword [ebp + 0xb4], edx
add edi, edx
mov edx, dword [esp + 0x14]
cmp edi, edx
jle 0x4314c0
sub edx, eax
mov dword [ebp + 0x34], edx
mov edx, dword [ebp + 0x34]
test edx, edx
jge 0x4314ce
mov dword [ebp + 0x34], 0
mov edi, dword [esp + 0x1c]
mov edx, 1
imul eax, ecx
sub edx, edi
mov edi, dword [esp + 0x24]
add edi, edx
mov edx, 1
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x18]
sub edx, edi
mov edi, dword [esp + 0x20]
add edi, edx
lea eax, [eax + eax + 4]
mov edx, 1
push eax
mov dword [ebp + 0x1c], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edx
call fcn.004ed8ee
mov ecx, dword [ebp + 0x40]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 0x40]
mov cx, word [ebx]
mov eax, dword [edx + 4]
mov word [eax], cx
mov edx, dword [ebp + 0x40]
mov cx, word [esi]
mov eax, dword [edx + 4]
mov word [eax + 2], cx
mov ecx, dword [esi]
imul ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x40]
xor eax, eax
shl ecx, 1
mov edi, dword [edx + 4]
mov edx, ecx
add edi, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esi]
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
call fcn.004db440
mov edx, dword [0xcf7e80]
mov edi, eax
push edx
call fcn.004db450
lea ecx, [esp + 0x20]
push 0
push ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x1c]
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
xor edx, edx
mov dx, word [ecx*8 + 0xcac154]
mov ecx, dword [ebp + 0xe4]
push edx
mov edx, dword [ebp + 0x40]
push 1
push 1
push ecx
push eax
push eax
mov eax, dword [edx + 4]
add eax, 4
push eax
call fcn.004dd2e0
mov ecx, dword [esi]
mov edx, dword [ebx]
push 1
push ecx
push edx
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + 4]
add ecx, 4
push ecx
call fcn.00430100
push edi
call fcn.004db450
mov eax, dword [ebp + 0xbc]
add esp, 0x40
test eax, eax
je 0x431626
mov edx, dword [esp + 0x14]
lea edi, [edx + 1]
mov ecx, dword [esi]
mov edx, dword [eax + 0xbc]
sub dword [eax + 0xb4], ecx
mov ecx, dword [eax + 0xb4]
mov dword [eax + 0x34], ecx
jns 0x43160b
mov dword [eax + 0x34], 0
mov ecx, dword [eax + 0x24]
add ecx, dword [eax + 0x34]
cmp ecx, edi
jle 0x431620
mov ecx, dword [esp + 0x14]
sub ecx, dword [eax + 0x24]
inc ecx
mov dword [eax + 0x34], ecx
test edx, edx
mov eax, edx
jne 0x4315eb
mov ecx, ebp
call fcn.00430990
mov eax, dword [ebp + 0x30]
mov edi, dword [ebx]
mov edx, dword [esi]
mov dword [esp + 0x18], eax
add eax, edi
mov edi, eax
mov eax, dword [ebp + 0x34]
mov ebx, eax
add eax, edx
mov edx, eax
mov eax, dword [ebp + 0xbc]
test eax, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], edx
je 0x4316a5
mov ecx, dword [eax + 0x30]
mov esi, dword [esp + 0x18]
cmp ecx, esi
jge 0x43166a
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x20]
mov esi, dword [eax + 0x30]
add ecx, esi
cmp ecx, edi
jle 0x43167c
mov edi, ecx
mov dword [esp + 0x20], edi
mov ecx, dword [eax + 0x34]
cmp ecx, ebx
jge 0x431689
mov ebx, ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax + 0x24]
mov esi, dword [eax + 0x34]
add ecx, esi
cmp ecx, edx
jle 0x43169b
mov edx, ecx
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0xbc]
test eax, eax
jne 0x43165b
call dword [0xd84224]
mov dword [ebp + 0xa0], eax
mov al, byte [0x55fef5]
test al, al
mov eax, dword [0x5601dc]
je 0x4316e3
imul eax, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
shl ecx, 5
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
jmp 0x431700
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
shl ecx, 5
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push 0
push 0
mov ecx, ebp
mov dword [ebp + 0xa4], edx
call fcn.0046af30
mov eax, dword [esp + 0x858]
test eax, eax
jne 0x431733
mov byte [ebp + 0xec], 0x65
mov byte [ebp + 0xed], 0x6e
mov byte [ebp + 0xee], 0x75
jmp 0x43174d
mov dl, byte [eax]
mov byte [ebp + 0xec], dl
mov cl, byte [eax + 1]
mov byte [ebp + 0xed], cl
mov dl, byte [eax + 2]
mov byte [ebp + 0xee], dl
mov byte [ebp + 0xef], 0
mov ecx, dword [esp + 0x838]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x834
ret 0x18