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

Disassembly:
sub esp, 0xa8
push esi
mov cl, 1
mov edx, 0x20
mov eax, 0x204
lea esi, [esp + 4]
call fcn.004fc540
push str.AudioDefines.csv
mov eax, esi
push eax
call fcn.004fc670
test al, al
jne 0x498ade
mov ecx, esi
call fcn.004fc5e0
xor al, al
pop esi
add esp, 0xa8
ret
or ecx, 0xffffffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
push ebx
mov ebx, dword [sym.imp.MSVCR71.dll__stricmp]
mov dword [esp + 0x94], ecx
push ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
push edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
xor esi, esi
test edi, edi
mov dword [esp + 0xac], ecx
jle 0x4990be
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498baf
test esi, esi
jl 0x498baf
cmp esi, edi
jge 0x498baf
mov edx, dword [ebp]
mov eax, dword [edx + esi*4]
jmp 0x498bb1
xor eax, eax
push str.Global_Sound_ID
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498bc9
mov dword [esp + 0x30], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498be1
test esi, esi
jl 0x498be1
cmp esi, edi
jge 0x498be1
mov eax, dword [ebp]
mov eax, dword [eax + esi*4]
jmp 0x498be3
xor eax, eax
push str.Filename
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498bfb
mov dword [esp + 0x34], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498c13
test esi, esi
jl 0x498c13
cmp esi, edi
jge 0x498c13
mov ecx, dword [ebp]
mov eax, dword [ecx + esi*4]
jmp 0x498c15
xor eax, eax
push str.Load_Type
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498c2d
mov dword [esp + 0x38], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498c45
test esi, esi
jl 0x498c45
cmp esi, edi
jge 0x498c45
mov edx, dword [ebp]
mov eax, dword [edx + esi*4]
jmp 0x498c47
xor eax, eax
push str.Is_Compressed
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498c5f
mov dword [esp + 0x3c], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498c77
test esi, esi
jl 0x498c77
cmp esi, edi
jge 0x498c77
mov eax, dword [ebp]
mov eax, dword [eax + esi*4]
jmp 0x498c79
xor eax, eax
push str.In_Generic
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498c91
mov dword [esp + 0x40], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498ca9
test esi, esi
jl 0x498ca9
cmp esi, edi
jge 0x498ca9
mov ecx, dword [ebp]
mov eax, dword [ecx + esi*4]
jmp 0x498cab
xor eax, eax
push str.In_Town
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498cc3
mov dword [esp + 0x44], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498cdb
test esi, esi
jl 0x498cdb
cmp esi, edi
jge 0x498cdb
mov edx, dword [ebp]
mov eax, dword [edx + esi*4]
jmp 0x498cdd
xor eax, eax
push str.In_ShipBattle
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498cf5
mov dword [esp + 0x48], esi
jmp 0x4990b5
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x498d0d
test esi, esi
jl 0x498d0d
cmp esi, edi
jge 0x498d0d
mov eax, dword [ebp]
mov eax, dword [eax + esi*4]
jmp 0x498d0f
xor eax, eax
push str.In_Sailing
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498d27
mov dword [esp + 0x4c], esi
jmp 0x4990b5
push str.In_Duel_Deck0
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498d4c
mov dword [esp + 0x50], esi
jmp 0x4990b5
push str.In_Duel_Deck1
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498d71
mov dword [esp + 0x54], esi
jmp 0x4990b5
push str.In_Duel_Deck2
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498d96
mov dword [esp + 0x58], esi
jmp 0x4990b5
push str.In_Duel_Pool0
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498dbb
mov dword [esp + 0x5c], esi
jmp 0x4990b5
push str.In_Duel_Pool1
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498de0
mov dword [esp + 0x60], esi
jmp 0x4990b5
push str.In_Duel_Tavern
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498e05
mov dword [esp + 0x64], esi
jmp 0x4990b5
push str.In_Duel_Rampart
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498e2a
mov dword [esp + 0x68], esi
jmp 0x4990b5
push str.In_Dance
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498e4f
mov dword [esp + 0x6c], esi
jmp 0x4990b5
push str.In_Carib
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498e74
mov dword [esp + 0x70], esi
jmp 0x4990b5
push str.In_LandBattle
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498e99
mov dword [esp + 0x74], esi
jmp 0x4990b5
push str.In_DuelCapt1
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498ebe
mov dword [esp + 0x78], esi
jmp 0x4990b5
push str.In_DuelCapt2
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498ee3
mov dword [esp + 0x7c], esi
jmp 0x4990b5
push str.In_DuelCapt3
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498f0b
mov dword [esp + 0x80], esi
jmp 0x4990b5
push str.In_DuelCapt4
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498f33
mov dword [esp + 0x84], esi
jmp 0x4990b5
push str.In_DuelPir1
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498f5b
mov dword [esp + 0x88], esi
jmp 0x4990b5
push str.In_DuelPir2
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498f83
mov dword [esp + 0x8c], esi
jmp 0x4990b5
push str.In_DuelUber
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498fab
mov dword [esp + 0x90], esi
jmp 0x4990b5
push str.In_Mansion_Generic
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498fd3
mov dword [esp + 0x94], esi
jmp 0x4990b5
push str.In_Mansion_Dau
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x498ffb
mov dword [esp + 0x98], esi
jmp 0x4990b5
push str.In_Mansion_Gov
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x499023
mov dword [esp + 0x9c], esi
jmp 0x4990b5
push str.In_Tavern
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x499048
mov dword [esp + 0xa0], esi
jmp 0x4990b5
push str.In_Tavern_Speech
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x49906d
mov dword [esp + 0xa4], esi
jmp 0x4990b5
push str.In_Tavern_Strange
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x499092
mov dword [esp + 0xa8], esi
jmp 0x4990b5
push str.In_Opening
mov ecx, esi
xor eax, eax
lea edx, [esp + 0x14]
call fcn.004fc970
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4990b5
mov dword [esp + 0xac], esi
inc esi
cmp esi, edi
jl 0x498b97
xor eax, eax
or ecx, 0xffffffff
cmp dword [esp + eax*4 + 0x30], ecx
je 0x49973c
inc eax
cmp eax, 0x20
jl 0x4990c3
push 0x798
call fcn.005354dd
push 0x8ffc
mov dword [0x8ef4c4], eax
call fcn.005354dd
add esp, 8
xor edi, edi
mov dword [esp + 0x2c], eax
xor esi, esi
push 0x20
call fcn.005354dd
mov ecx, dword [0x8ef4c4]
mov dword [ecx + esi], eax
add esi, 4
add esp, 4
cmp esi, 0x794
jl 0x4990f7
push 0x74
call fcn.005354dd
push 0x70
mov dword [0x8ef4c8], eax
call fcn.005354dd
mov ebx, eax
add esp, 8
mov dword [esp + 0x28], ebx
xor esi, esi
push 0x20
call fcn.005354dd
mov edx, dword [0x8ef4c8]
mov dword [edx + esi*4], eax
mov ecx, esi
mov eax, 1
shl eax, cl
add esp, 4
inc esi
cmp esi, 0x1c
mov dword [ebx + esi*4 - 4], eax
jl 0x499133
push 0x2c
call fcn.005354dd
add esp, 4
cmp eax, edi
mov ebx, 0x3f800000
je 0x4991a0
mov dword [eax], 5
lea ecx, [eax + 4]
mov eax, ecx
mov dword [eax], ebx
mov dword [eax + 4], edi
add eax, 8
mov dword [eax], ebx
mov dword [eax + 4], edi
add eax, 8
mov dword [eax], ebx
mov dword [eax + 4], edi
add eax, 8
mov dword [eax], ebx
mov dword [eax + 4], edi
add eax, 8
mov dword [eax], ebx
mov dword [eax + 4], edi
mov ebp, ecx
jmp 0x4991a2
xor ebp, ebp
push 0x18
call fcn.005354dd
add esp, 4
mov dword [0x8ef4cc], eax
xor esi, esi
push 0x20
call fcn.005354dd
mov ecx, dword [0x8ef4cc]
mov dword [esi + ecx], eax
add esi, 4
add esp, 4
cmp esi, 0x14
jl 0x4991b3
xor edi, edi
lea esi, [ebp + 4]
test edi, edi
mov dword [esi - 4], ebx
mov dword [esi], 0
je 0x4991f8
test ebp, ebp
je 0x4991f5
mov ecx, dword [esi]
test ecx, ecx
jne 0x4991ee
mov dword [esi], ebp
jmp 0x4991f5
mov edx, ebp
call fcn.0052d9b0
mov dword [esi - 4], ebx
inc edi
add esi, 8
cmp edi, 5
jl 0x4991d3
push 0x34
mov dword [0x8ef4bc], ebp
mov dword [0x8ef4c0], 5
call fcn.005354dd
add esp, 4
mov dword [0x8ef4dc], eax
xor esi, esi
push 0x20
call fcn.005354dd
mov edx, dword [0x8ef4dc]
mov dword [esi + edx], eax
add esi, 4
add esp, 4
cmp esi, 0x30
jl 0x499222
push 0x14
call fcn.005354dd
add esp, 4
mov dword [0x8ef4e0], eax
xor esi, esi
mov edi, edi
push 0x20
call fcn.005354dd
mov ecx, dword [0x8ef4e0]
mov dword [esi + ecx], eax
add esi, 4
add esp, 4
cmp esi, 0x10
jl 0x499250
push 0x10
call fcn.005354dd
add esp, 4
mov dword [0x8ef4e4], eax
xor esi, esi
lea esp, [esp]
push 0x20
call fcn.005354dd
mov edx, dword [0x8ef4e4]
mov dword [esi + edx], eax
add esi, 4
add esp, 4
cmp esi, 0xc
jl 0x499280
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov esi, 0x1e8
xor edi, edi
lea ebx, [ebx]
cmp edi, 0xfffff860
jl 0x4992cb
cmp esi, dword [esp + 0x1c]
jge 0x4992cb
cmp ebp, 4
jle 0x4992cb
mov eax, dword [ebx + esi*4]
mov ecx, dword [eax + 0x10]
jmp 0x4992cd
xor ecx, ecx
mov edx, dword [0x8ef4e4]
mov edx, dword [edi + edx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4992d6
add edi, 4
inc esi
cmp edi, 0xc
jl 0x4992b0
mov eax, dword [0x8ef4e4]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov dword [eax + esi*4 - 0x7a0], 0
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x40]
sub eax, esi
mov dword [esp + 0xb4], eax
mov eax, 0xfffffffc
add ebx, 0x44
lea edx, [ecx + 4]
sub eax, ecx
mov ebp, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0xb0], eax
nop
test ebp, ebp
mov edi, dword [esp + 0x1c]
jl 0x499355
cmp ebp, edi
jge 0x499355
mov eax, dword [esp + 0x30]
test eax, eax
jl 0x499355
cmp eax, dword [esp + 0x20]
jge 0x499355
mov esi, dword [esp + 0x24]
mov ecx, dword [esi]
mov edx, dword [ecx + eax*4]
jmp 0x49935b
mov esi, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0xb0]
mov eax, dword [0x8ef4c4]
add eax, ecx
mov ecx, dword [eax + esi]
lea esp, [esp]
mov al, byte [edx]
inc edx
mov byte [ecx], al
inc ecx
test al, al
jne 0x499370
test ebp, ebp
jl 0x499397
cmp ebp, edi
jge 0x499397
mov eax, dword [esp + 0x34]
test eax, eax
jl 0x499397
cmp eax, dword [esp + 0x20]
jge 0x499397
mov edx, dword [esi]
mov ecx, dword [edx + eax*4]
jmp 0x499399
xor ecx, ecx
lea edx, [ebx - 0x44]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4993a0
test ebp, ebp
jl 0x4993cf
cmp ebp, edi
jge 0x4993cf
mov eax, dword [esp + 0x38]
test eax, eax
jl 0x4993cf
cmp eax, dword [esp + 0x20]
jge 0x4993cf
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x38]
mov edi, dword [ecx + edx*4]
jmp 0x4993d1
xor edi, edi
push 0x8eed78
call fcn.0052ba30
test ebp, ebp
mov dword [ebx - 4], eax
jl 0x499401
cmp ebp, dword [esp + 0x1c]
jge 0x499401
mov eax, dword [esp + 0x3c]
test eax, eax
jl 0x499401
cmp eax, dword [esp + 0x20]
jge 0x499401
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edx + eax*4]
jmp 0x499403
xor eax, eax
mov cl, byte [esp + 0x14]
test cl, cl
je 0x49940f
test eax, eax
je 0x499419
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
mov esi, dword [esp + 0x28]
test eax, eax
setne al
mov byte [ebx + 4], al
mov dword [ebx], 0
mov edi, 0x1c
test ebp, ebp
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + esi]
jl 0x499459
cmp ebp, dword [esp + 0x1c]
jge 0x499459
test eax, eax
jl 0x499459
cmp eax, dword [esp + 0x20]
jge 0x499459
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov eax, dword [ecx + eax*4]
jmp 0x49945b
xor eax, eax
mov cl, byte [esp + 0x14]
test cl, cl
je 0x499467
test eax, eax
je 0x499479
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
test eax, eax
je 0x499479
mov edx, dword [esi]
add dword [ebx], edx
add esi, 4
dec edi
jne 0x499430
mov ecx, dword [esp + 0x24]
inc ebp
add ecx, 4
add ebx, 0x4c
cmp ebp, 0x1e6
mov dword [esp + 0x24], ecx
jl 0x499330
mov ecx, dword [0x8ef4c4]
xor eax, eax
lea edi, [ebp + 1]
cmp edi, eax
mov dword [ecx + ebp*4 - 4], eax
jl 0x4994c2
cmp edi, dword [esp + 0x1c]
jge 0x4994c2
cmp dword [esp + 0x20], eax
jle 0x4994c2
mov edx, dword [esp + 0x18]
mov eax, dword [edx + edi*4]
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCR71.dll__stricmp]
push str.Context_Types
push eax
call esi
add esp, 8
test eax, eax
jne 0x49973c
test edi, edi
mov ebp, dword [esp + 0x1c]
jl 0x4994fa
cmp edi, ebp
jge 0x4994fa
cmp dword [esp + 0x20], 1
jle 0x4994fa
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + edi*4]
mov eax, dword [ecx + 4]
jmp 0x499500
mov ebx, dword [esp + 0x18]
xor eax, eax
push str.Sound_Types
push eax
call esi
add esp, 8
test eax, eax
jne 0x49973c
test edi, edi
jl 0x49952a
cmp edi, ebp
jge 0x49952a
cmp dword [esp + 0x20], 2
jle 0x49952a
mov edx, dword [ebx + edi*4]
mov eax, dword [edx + 8]
jmp 0x49952c
xor eax, eax
push str.Position_Types
push eax
call esi
add esp, 8
test eax, eax
jne 0x49973c
test edi, edi
jl 0x499556
cmp edi, ebp
jge 0x499556
cmp dword [esp + 0x20], 3
jle 0x499556
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0xc]
jmp 0x499558
xor eax, eax
push str.Script_Types
push eax
call esi
add esp, 8
test eax, eax
jne 0x49973c
test edi, edi
jl 0x499582
cmp edi, ebp
jge 0x499582
cmp dword [esp + 0x20], 4
jle 0x499582
mov ecx, dword [ebx + edi*4]
mov eax, dword [ecx + 0x10]
jmp 0x499584
xor eax, eax
push str.Sound_Load_Types
push eax
call esi
add esp, 8
test eax, eax
jne 0x49973c
inc edi
lea ebx, [edi + 0x1c]
cmp edi, ebx
mov esi, edi
jge 0x4995e2
xor ebp, ebp
test esi, esi
jl 0x4995c0
cmp esi, dword [esp + 0x1c]
jge 0x4995c0
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4995c0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax]
jmp 0x4995c2
xor ecx, ecx
mov edx, dword [0x8ef4c8]
mov edx, dword [edx + ebp]
jmp 0x4995d0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4995d0
inc esi
add ebp, 4
cmp esi, ebx
jl 0x4995a3
mov eax, dword [0x8ef4c8]
sub esi, edi
lea ebp, [edi + 5]
cmp edi, ebp
mov dword [eax + esi*4], 0
mov esi, edi
jge 0x499639
xor ebx, ebx
jmp 0x499600
test esi, esi
jl 0x49961d
cmp esi, dword [esp + 0x1c]
jge 0x49961d
cmp dword [esp + 0x20], 1
jle 0x49961d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + esi*4]
mov ecx, dword [edx + 4]
jmp 0x49961f
xor ecx, ecx
mov eax, dword [0x8ef4cc]
mov edx, dword [eax + ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x499627
inc esi
add ebx, 4
cmp esi, ebp
jl 0x499600
mov ecx, dword [0x8ef4cc]
sub esi, edi
lea ebp, [edi + 0xc]
cmp edi, ebp
mov dword [ecx + esi*4], 0
mov esi, edi
jge 0x499692
xor ebx, ebx
test esi, esi
jl 0x499670
cmp esi, dword [esp + 0x1c]
jge 0x499670
cmp dword [esp + 0x20], 2
jle 0x499670
mov edx, dword [esp + 0x18]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax + 8]
jmp 0x499672
xor ecx, ecx
mov edx, dword [0x8ef4dc]
mov edx, dword [edx + ebx]
jmp 0x499680
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x499680
inc esi
add ebx, 4
cmp esi, ebp
jl 0x499653
mov eax, dword [0x8ef4dc]
sub esi, edi
lea ebp, [edi + 4]
cmp edi, ebp
mov dword [eax + esi*4], 0
mov esi, edi
jge 0x4996e9
xor ebx, ebx
jmp 0x4996b0
test esi, esi
jl 0x4996cd
cmp esi, dword [esp + 0x1c]
jge 0x4996cd
cmp dword [esp + 0x20], 3
jle 0x4996cd
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + esi*4]
mov ecx, dword [edx + 0xc]
jmp 0x4996cf
xor ecx, ecx
mov eax, dword [0x8ef4e0]
mov edx, dword [eax + ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4996d7
inc esi
add ebx, 4
cmp esi, ebp
jl 0x4996b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x8ef4e0]
sub esi, edi
test eax, eax
mov dword [ecx + esi*4], 0
je 0x49973c
mov dword [0x8ef2c0], eax
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [0x8ef2c4], 0x1e5
je 0x49973c
lea ecx, [esp + 0x10]
mov dword [0x8ef2c8], eax
mov dword [0x8ef2cc], 0x1c
call fcn.004fc5e0
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0xa8
ret
lea ecx, [esp + 0x10]
call fcn.004fc5e0
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0xa8
ret