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

Disassembly:
mov eax, dword [0x821c78]
sub esp, 0x100
lea ecx, [esp + 0x9c]
mov dword [0x821c7c], eax
push ebp
push str.CREDITS.TXT
call fcn.00468b70
xor ebp, ebp
lea ecx, [esp + 0xa0]
push ebp
call fcn.00468dc0
test al, al
je 0x4b3e5e
push ebx
push esi
push edi
lea ecx, [esp + 0xac]
call fcn.00468d70
inc eax
push eax
call fcn.0076d5a7
mov esi, eax
add esp, 4
lea ecx, [esp + 0xac]
mov dword [esp + 0x48], esi
call fcn.00468d70
lea ecx, [esp + 0xac]
push eax
push esi
call fcn.00468c80
mov edx, 1
mov ecx, str.LightGold
push 0x148
push ebp
mov dword [str.Grey], 0x7c131c
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
call fcn.0065ab90
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, dword [0x821c7c]
lea eax, [esp + 0x9c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [0x821c7c]
lea edx, [esp + 0x84]
push eax
push ecx
push 0x7c1614
push edx
call fcn.004977d0
add esp, 0x20
lea ecx, [esp + 0xac]
call fcn.00468d70
mov ecx, dword [0x821c74]
mov edi, eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], ebp
mov eax, dword [ecx]
call dword [eax + 0x80]
add eax, 2
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x14], eax
mov al, byte [esi]
inc esi
movsx ecx, al
add ecx, 0xfffffff7
dec edi
cmp ecx, 0x17
mov dword [esp + 0x24], edi
ja case.0x4b349d.13
xor edx, edx
mov dl, byte [ecx + 0x4b3eb0]
jmp dword [edx*4 + 0x4b3e9c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc ecx
add eax, 0x10
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
jmp case.0x4b349d.10
mov eax, dword [esp + 0x10]
inc eax
jmp 0x4b3776
mov eax, dword [esp + 0x10]
add eax, 8
jmp 0x4b3774
lea ebp, [esi - 1]
xor cl, cl
mov dl, al
mov dword [esp + 0x2c], ebp
add edi, esi
mov al, byte [ebp]
inc ebp
mov byte [esp + 0x1b], al
movsx eax, al
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x4b34ff.11
xor ebx, ebx
mov bl, byte [eax + 0x4b3ed4]
jmp dword [ebx*4 + 0x4b3ec8]
cmp dl, 0x20
jne case.0x4b34ff.11
mov cl, 1
cmp ebp, edi
jb 0x4b3513
mov cl, 1
mov dl, byte [esp + 0x1b]
test cl, cl
je 0x4b34e4
cmp ebp, edi
mov dword [esp + 0x20], ebp
jae case.0x4b349d.10
cmp byte [ebp - 2], 0x20
jne 0x4b3532
dec ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x10]
mov ecx, 0x48
cmp eax, 3
jle 0x4b354c
cmp eax, 8
jge 0x4b354f
mov ecx, 0x148
jmp 0x4b3556
cmp eax, 8
jle 0x4b3556
mov ecx, 0x248
cmp eax, 3
jle 0x4b3574
cmp eax, 8
jge 0x4b3574
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
sub edx, esi
cmp edx, 1
jle 0x4b3574
or cl, 0x80
jmp 0x4b3577
or ecx, 0x20
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
push 0x10
mov cl, byte [ebx - 1]
mov dword [esp + 0x34], eax
mov byte [esp + 0x2f], cl
mov byte [ebx - 1], 0
call fcn.0076d5a7
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4b36c2
mov edi, dword [esp + 0x2c]
mov word [0x83b42c], 0
mov esi, edi
mov ebx, 0x83b42c
cmp byte [edi], 0
je 0x4b367b
mov al, byte [esi]
cmp al, 0x7b
jne 0x4b3662
mov al, byte [esi + 1]
xor ecx, ecx
inc esi
test al, al
mov edx, esi
je 0x4b35ea
cmp al, 0x7d
je 0x4b35e6
mov al, byte [esi + 1]
inc ecx
inc esi
test al, al
jne 0x4b35d9
test ecx, ecx
jne 0x4b35f1
mov edi, str.Missing_Label
jmp 0x4b3649
cmp ecx, 0x1f
jbe 0x4b35fd
mov edi, str.Bad_Label
jmp 0x4b3649
mov al, byte [edx]
mov esi, edx
test al, al
lea ecx, [esp + 0x8c]
je 0x4b3625
mov al, byte [esi]
cmp al, 0x7d
je 0x4b3625
cmp al, 0x20
je 0x4b361d
cmp al, 9
je 0x4b361d
mov byte [ecx], al
inc ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4b360c
mov al, byte [esi]
mov byte [ecx], 0
cmp al, 0x7d
jne 0x4b362f
inc esi
push 0x11c
push str.C:RA2Egos.CPP
xor edx, edx
lea ecx, [esp + 0x94]
call fcn.006eea10
mov edi, eax
test edi, edi
je 0x4b366e
push edi
push ebx
call fcn.0076ec19
push edi
call fcn.0076eb95
add esp, 0xc
lea ebx, [ebx + eax*2]
jmp 0x4b366e
and eax, 0xff
mov word [ebx], ax
add ebx, 2
inc esi
cmp byte [esi], 0
jne 0x4b35c3
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov word [ebx], 0
push 0x83b42c
mov dword [ebp + 4], 0
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
call fcn.0076eb95
lea ecx, [eax + eax + 2]
push ecx
call fcn.0076d5a7
push 0x83b42c
push eax
mov dword [ebp], eax
call fcn.0076ec19
mov ebx, dword [esp + 0x30]
add esp, 0x10
mov esi, ebp
jmp 0x4b36c8
mov edi, dword [esp + 0x2c]
xor esi, esi
mov eax, dword [0x83dc48]
mov ecx, dword [0x83dc50]
cmp ecx, eax
jl 0x4b3706
mov cl, byte [0x83dc4d]
test cl, cl
jne 0x4b36e5
test eax, eax
jne 0x4b371e
mov ecx, dword [0x83dc54]
test ecx, ecx
jle 0x4b371e
mov edx, dword [0x83dc40]
add eax, ecx
push 0
push eax
mov ecx, 0x83dc40
call dword [edx + 8]
test al, al
je 0x4b371e
mov ecx, dword [0x83dc50]
mov eax, ecx
inc ecx
mov dword [0x83dc50], ecx
mov ecx, dword [0x83dc44]
mov dword [ecx + eax*4], esi
mov ebp, dword [esp + 0x10]
mov dl, byte [esp + 0x2b]
mov ecx, dword [esp + 0x24]
mov eax, ebx
sub eax, edi
sub edi, ebx
add ebp, eax
mov al, byte [esp + 0x1b]
mov byte [ebx - 1], dl
lea edx, [ecx + edi + 1]
cmp al, 0xd
mov esi, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], edx
jne 0x4b3769
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc ecx
add eax, 0x10
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
jmp case.0x4b349d.10
cmp al, 9
jne case.0x4b349d.10
mov eax, dword [esp + 0x10]
add eax, 7
and al, 0xf8
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x24]
xor ebp, ebp
cmp edi, ebp
jg 0x4b3482
push ebp
mov ecx, 0xa1e088
call fcn.006dd310
mov ecx, dword [0x821c74]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
mov edx, dword [0x821c74]
mov cl, 1
push ebp
call fcn.004e01d0
push 0x24
call fcn.0076d5a7
add esp, 4
cmp eax, ebp
je 0x4b37d3
mov ecx, dword [0x82196c]
mov edx, dword [0x821968]
push ebp
push ecx
push edx
mov ecx, eax
call fcn.004aa060
jmp 0x4b37d5
xor eax, eax
mov ecx, dword [0x821c74]
push 1
mov dword [0x83b428], eax
mov edx, dword [eax]
push ebp
push ecx
mov ecx, eax
call dword [edx + 4]
mov ecx, dword [0x81a788]
call fcn.00530b00
fld dword [0xa2876c]
mov edx, dword [0x821c74]
fst dword [esp + 0x40]
fcomp qword [0x786610]
mov dword [0x821c7c], edx
fnstsw ax
test ah, 0x40
je 0x4b3829
push ebp
push 0x3ecccccd
mov ecx, 0xa28738
call fcn.005d0ec0
push str.CREDITS
mov ecx, 0xa1e088
call fcn.006dd680
mov ecx, 0xa1e088
push eax
call fcn.006dcf90
mov eax, dword [0x821ca8]
mov dword [esp + 0x10], eax
mov eax, dword [0x821ca0]
cmp eax, 0xffffffff
je 0x4b3872
mov ecx, 0x821ca4
call fcn.0068f980
mov edx, dword [0x821ca0]
mov ecx, dword [esp + 0x10]
sub eax, edx
add ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [0x821f88]
xor ebx, ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], ebp
mov edx, dword [ecx]
mov byte [esp + 0x1c], bl
call dword [edx + 0xc]
cmp dword [0x83dc50], ebp
je 0x4b3cf5
mov al, byte [0x83a6ec]
inc ebx
test al, al
mov dword [esp + 0x74], ebx
je 0x4b38e8
mov al, byte [0x839fc0]
mov byte [0x83a6ec], 0
test al, al
mov byte [esp + 0x1c], 1
jne 0x4b38d2
mov ecx, dword [0x821c70]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [0x83b428]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
mov ecx, dword [0x821f88]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x821f88]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0xc8
mov dword [esp + 0x14], eax
jle 0x4b390a
mov eax, dword [esp + 0x24]
cmp eax, 0x10
jge 0x4b390a
inc eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], eax
mov eax, dword [0x83dc50]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x4b398d
mov ecx, 0xfffffffe
mov edx, dword [0x83dc44]
mov eax, dword [edx + esi*4]
mov edi, dword [eax + 8]
add edi, ecx
mov edx, edi
mov dword [eax + 8], edi
cmp edx, 0xffffffec
jl 0x4b3938
dec esi
js 0x4b398d
jmp 0x4b391b
mov ecx, dword [0x83dc44]
mov edi, dword [ecx + esi*4]
cmp edi, ebp
je 0x4b395c
mov eax, dword [edi]
push eax
call fcn.0076d2d5
push edi
call fcn.0076d2d5
mov ecx, dword [0x83dc44]
add esp, 8
mov edx, dword [0x83dc50]
cmp esi, edx
jge 0x4b398d
dec edx
mov eax, esi
cmp esi, edx
mov dword [0x83dc50], edx
jge 0x4b398d
jmp 0x4b397b
mov ecx, dword [0x83dc44]
mov edx, dword [ecx + eax*4 + 4]
mov dword [ecx + eax*4], edx
mov ecx, dword [0x83dc50]
inc eax
cmp eax, ecx
jl 0x4b3975
mov edx, dword [0x83a6f4]
mov eax, dword [0x83a6f0]
xor ebp, ebp
mov esi, 0x22
lea ecx, [edx - 0x42]
add edx, 0xffffffde
mov dword [esp + 0x98], ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [0x83b428]
mov dword [esp + 0x68], edx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], 0x20
mov dword [esp + 0x94], eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], esi
mov eax, dword [ecx]
lea edx, [esp + 0x54]
push ebp
push edx
call dword [eax + 0x14]
mov ecx, dword [0x83b428]
lea edx, [esp + 0x64]
push ebp
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x83dc50]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x4b3a42
mov edi, dword [esp + 0x1c]
mov ecx, dword [0x83dc44]
push edi
mov ecx, dword [ecx + esi*4]
call fcn.004b3250
dec esi
jns 0x4b3a30
mov ecx, dword [0x83b428]
xor edx, edx
xor eax, eax
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0x5c]
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x4c], edi
je 0x4b3bf9
mov ecx, dword [0x83b428]
mov edx, dword [ecx]
call dword [edx + 0x74]
cdq
sub eax, edx
mov edx, dword [0x83a6f0]
sar eax, 1
mov esi, 0x100
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], esi
cmp esi, 0xff
mov ebp, esi
jl 0x4b3a9b
mov ebp, 0xff
mov ecx, dword [0x83a6f4]
mov dword [esp + 0x38], 0
sub ecx, dword [esp + 0x2c]
dec ecx
imul ecx, eax
test edx, edx
jle 0x4b3bc7
mov esi, dword [esp + 0x20]
mov eax, ebp
and eax, 0xff
mov edx, 0xff
sub edx, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
lea edi, [edi + ecx*2]
jmp 0x4b3ae0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov cx, word [esi]
mov dword [0xb10c94], eax
mov ax, word [0xa5df12]
xor ebx, ebx
and ecx, 0xffff
mov bx, ax
and ebx, ecx
xor ebp, ebp
imul ebx, edx
shr ebx, 8
and bx, ax
mov ax, word [0xa5df10]
mov bp, ax
mov dword [0xb10c98], edx
and ebp, ecx
add esi, 2
imul ebp, edx
shr ebp, 8
and bp, ax
xor eax, eax
mov ax, word [0xa5df14]
or ebx, ebp
and eax, ecx
xor ebp, ebp
imul eax, edx
mov edx, dword [esp + 0x34]
add edi, 2
shr eax, 8
or ebx, eax
mov word [esi - 2], bx
mov cx, word [edi - 2]
mov ax, word [0xa5df12]
xor ebx, ebx
and ecx, 0xffff
mov bx, ax
mov dword [0xb10c94], edx
mov edx, dword [esp + 0x30]
and ebx, ecx
mov dword [0xb10c98], edx
imul ebx, edx
shr ebx, 8
and bx, ax
mov ax, word [0xa5df10]
mov bp, ax
and ebp, ecx
imul ebp, edx
shr ebp, 8
and bp, ax
xor eax, eax
mov ax, word [0xa5df14]
or ebx, ebp
and eax, ecx
imul eax, edx
shr eax, 8
or ebx, eax
mov eax, dword [esp + 0x38]
mov word [edi - 2], bx
mov edx, dword [0x83a6f0]
inc eax
cmp eax, edx
mov dword [esp + 0x38], eax
jl 0x4b3ad8
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
lea ecx, [eax + eax]
inc ebp
sub esi, 8
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x20]
add ebp, ecx
mov dword [esp + 0x3c], esi
test esi, esi
mov dword [esp + 0x20], ebp
jg 0x4b3a8c
mov ecx, dword [0x83b428]
mov edx, dword [ecx]
call dword [edx + 0x60]
xor ebp, ebp
mov al, byte [0xa28948]
test al, al
je 0x4b3c70
mov al, byte [esp + 0x1c]
mov ecx, dword [0x821c70]
test al, al
mov eax, dword [ecx]
push 1
push ebp
je 0x4b3c21
mov edx, dword [0x83b428]
push edx
call dword [eax + 4]
jmp 0x4b3c70
lea edx, [esp + 0x5c]
push edx
mov edx, dword [0x83b428]
push edx
lea edx, [esp + 0x64]
push edx
call dword [eax + 8]
mov ecx, dword [0x821c70]
lea edx, [esp + 0x7c]
push 1
push ebp
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x98]
push ecx
push edx
call dword [eax + 8]
mov ecx, dword [0x821c70]
lea edx, [esp + 0x64]
push 1
push ebp
mov eax, dword [ecx]
push edx
mov edx, dword [0x83b428]
push edx
lea edx, [esp + 0x74]
push edx
call dword [eax + 8]
mov byte [esp + 0x1c], 0
call fcn.004821e0
mov edi, dword [esp + 0x10]
mov eax, dword [0x821ca0]
mov esi, dword [0x821ca8]
cmp eax, 0xffffffff
je 0x4b3ca0
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add esi, eax
mov eax, dword [0x7c1550]
sub esi, edi
imul eax, ebx
cmp esi, eax
jge 0x4b3cbe
mov ecx, dword [0x81a788]
call fcn.005303e0
test ax, ax
je 0x4b3c7e
mov ecx, dword [0x81a788]
call fcn.005303e0
test ax, ax
je 0x4b3cdf
mov ecx, dword [0x81a788]
call fcn.00530430
cmp ax, 0x1b
je 0x4b3ceb
cmp dword [0x83dc50], ebp
jne 0x4b3897
cmp dword [esp + 0x14], 0xbb
jg 0x4b3d5f
mov edi, dword [esp + 0x14]
cmp edi, 0x96
jge 0x4b3d0b
cmp edi, 0x2f
jle 0x4b3d0b
mov edi, 0x96
inc ebx
inc edi
call fcn.004821e0
mov eax, dword [0x821ca0]
mov esi, dword [0x821ca8]
cmp eax, 0xffffffff
je 0x4b3d34
mov ecx, 0x821ca4
call fcn.0068f980
sub eax, dword [0x821ca0]
add esi, eax
mov ecx, dword [esp + 0x10]
sub esi, ecx
mov ecx, dword [0x7c1550]
imul ecx, ebx
cmp esi, ecx
jge 0x4b3d57
mov ecx, dword [0x81a788]
call fcn.005303e0
test ax, ax
je 0x4b3d12
cmp edi, 0xbb
jle 0x4b3cf9
mov ecx, dword [0x821c74]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
mov edx, dword [0x821c74]
mov cl, 1
push ebp
call fcn.004e01d0
mov ecx, dword [0x821f88]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, 0xa1e088
mov dword [str.Grey], 0x7c15bc
push ebp
call fcn.006dd310
mov ecx, dword [esp + 0x40]
push ebp
push ecx
mov ecx, 0xa28738
call fcn.005d0ec0
mov ecx, dword [0x83b428]
cmp ecx, ebp
je 0x4b3db9
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x48]
push eax
call fcn.0076d2d5
mov ecx, dword [0x83dc50]
mov edx, dword [0x83dc44]
add esp, 4
cmp ecx, ebp
jle 0x4b3e2c
jmp 0x4b3dda
xor ebp, ebp
mov esi, dword [edx]
cmp esi, ebp
je 0x4b3dfd
mov ecx, dword [esi]
push ecx
call fcn.0076d2d5
push esi
call fcn.0076d2d5
mov ecx, dword [0x83dc50]
mov edx, dword [0x83dc44]
add esp, 8
cmp ecx, ebp
jle 0x4b3e26
dec ecx
xor eax, eax
test ecx, ecx
mov dword [0x83dc50], ecx
jle 0x4b3e2a
mov ecx, dword [edx + eax*4 + 4]
mov dword [edx + eax*4], ecx
mov ecx, dword [0x83dc50]
mov edx, dword [0x83dc44]
inc eax
cmp eax, ecx
jl 0x4b3e0e
test ecx, ecx
jg 0x4b3dd8
xor ebp, ebp
pop edi
pop esi
cmp edx, ebp
mov dword [0x83dc50], ebp
pop ebx
je 0x4b3e51
mov al, byte [0x83dc4d]
test al, al
je 0x4b3e51
push edx
call fcn.0076d2d5
add esp, 4
mov dword [0x83dc44], ebp
mov byte [0x83dc4d], 0
mov dword [0x83dc48], ebp
lea ecx, [esp + 0xf4]
mov dword [esp + 0xa0], vtable.CCFileClass.0
mov dword [esp + 0x100], ebp
call fcn.00438290
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], vtable.CDFileClass.0
call fcn.0042f250
pop ebp
add esp, 0x100
ret