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

Disassembly:
sub esp, 0xe4
push ebx
push esi
push edi
push ebp
push 0
push 0x452100
call fcn.00429570
add esp, 8
push 0x44c538
call fcn.004293c0
add esp, 4
push str._________POCKET_CLASSIFICATION_n
call fcn.004293c0
add esp, 4
push str.______WorkNC_c__SESCOI_c__SA_FRANCE_n
call fcn.004293c0
add esp, 4
push str.1.3_04_27_04
push str._______Version_:__s__n
call fcn.004293c0
add esp, 8
push 0x44c5d8
call fcn.004293c0
lea eax, [esp + 0x34]
add esp, 4
push eax
call fcn.00405adb
call fcn.00403fc0
mov esi, eax
test esi, esi
jne 0x40438b
push 0x13a
push 0x44c610
push str.rdata
call fcn.00428e50
add esp, 0xc
fld dword [esi + 4]
call fcn.00429398
mov edi, eax
mov eax, dword [esp + 0x30]
push eax
push edi
call fcn.00404040
add esp, 8
test eax, eax
je 0x4043be
push 0x145
push 0x44c624
push str.__err
call fcn.00428e50
add esp, 0xc
fld dword [esi + 8]
fcomp dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x4043d1
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
fld dword [esi + 0xc]
fdiv dword [esp + 0x30]
sub esp, 4
sub esp, 4
push edi
fstp dword [esp + 8]
fld dword [esi + 8]
fdiv dword [esp + 0x3c]
fstp dword [esp + 4]
call fcn.004040b0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x10], eax
push 0x44c638
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
call fcn.004293c0
add esp, 4
push str._INITIALIZATION..._n
call fcn.004293c0
lea edx, [esp + 0x78]
mov eax, dword [0x44c650]
mov ebx, dword [0x44c654]
mov ebp, dword [0x44c658]
add esp, 4
mov ecx, 0x44c650
mov dword [edx], eax
mov ax, word [ecx + 0xc]
lea edi, [esp + 0x82]
mov ecx, 0x1c
mov dword [edx + 4], ebx
push pe_nt_image_headers32
mov dword [edx + 8], ebp
mov word [edx + 0xc], ax
xor eax, eax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x78]
push edx
call fcn.00408c04
add esp, 8
test eax, eax
je 0x404487
push 0x15f
push 0x44c660
push 0x44c66c
call fcn.00428e50
add esp, 0xc
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x28]
push eax
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00414e00
add esp, 0x10
test eax, eax
je 0x4044be
push 0x162
push 0x44c674
push 0x44c680
call fcn.00428e50
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push str._NZ_d_NP_d_NC_d_n
call fcn.004293c0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
add esp, 0x10
add ecx, 0xa
add eax, 0xa
add edx, 0xa
mov ebx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], eax
lea eax, [ebx*8]
mov dword [esp + 0x1c], edx
add eax, 4
push eax
call fcn.00429410
add esp, 4
test eax, eax
je 0x404531
lea edi, [eax + 4]
mov dword [eax], ebx
mov ebp, edi
dec ebx
js 0x40452b
mov ecx, ebp
add ebp, 8
call fcn.00402300
dec ebx
jns 0x40451e
mov dword [esp + 0x24], edi
jmp 0x404539
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x404558
push 0x16e
push 0x44c69c
push str.tPts
call fcn.00428e50
add esp, 0xc
mov eax, dword [esp + 0x10]
shl eax, 2
push eax
call fcn.00429410
mov dword [esp + 0x30], eax
add esp, 4
test eax, eax
jne 0x404587
push 0x16f
push 0x44c6b0
push str.tZCoords
call fcn.00428e50
add esp, 0xc
mov ebx, dword [esp + 0x1c]
lea eax, [ebx*8]
sub eax, ebx
shl eax, 2
add eax, 4
push eax
call fcn.00429410
add esp, 4
test eax, eax
je 0x4045c4
lea edi, [eax + 4]
mov dword [eax], ebx
mov ebp, edi
dec ebx
js 0x4045be
mov ecx, ebp
add ebp, 0x1c
call fcn.00401000
dec ebx
jns 0x4045b1
mov dword [esp + 0x14], edi
jmp 0x4045cc
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4045eb
push 0x170
push 0x44c6c8
push str.tCtrs
call fcn.00428e50
add esp, 0xc
mov ebx, dword [esp + 0x28]
lea eax, [ebx*8]
add eax, 4
push eax
call fcn.00429410
add esp, 4
test eax, eax
je 0x404623
lea ebp, [eax + 4]
mov dword [eax], ebx
mov edi, ebp
dec ebx
js 0x40461d
mov ecx, edi
add edi, 8
call fcn.00404bb0
dec ebx
jns 0x404610
mov dword [esp + 0x18], ebp
jmp 0x40462b
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x40464a
push 0x171
push 0x44c6dc
push str.tLevels
call fcn.00428e50
add esp, 0xc
xor eax, eax
push 0x44c6f0
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
call fcn.004293c0
add esp, 4
push str._LOADING_Z_CONTOURS..._n
call fcn.004293c0
lea edx, [esp + 0x78]
mov eax, dword [str._TMP_zcut.res]
mov ebx, dword [0x44c710]
mov ebp, dword [0x44c714]
add esp, 4
mov ecx, str._TMP_zcut.res
mov dword [edx], eax
mov ax, word [ecx + 0xc]
lea edi, [esp + 0x82]
mov ecx, 0x1c
mov dword [edx + 4], ebx
push pe_nt_image_headers32
mov dword [edx + 8], ebp
mov word [edx + 0xc], ax
xor eax, eax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x78]
push edx
call fcn.00408c04
add esp, 8
test eax, eax
je 0x4046d7
push 0x17f
push 0x44c71c
push 0x44c728
call fcn.00428e50
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
mov edx, dword [0x44b04c]
push ecx
mov eax, dword [0x44b048]
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x3c]
push eax
lea eax, [esp + 0x90]
push ecx
push edx
push eax
call fcn.00402260
add esp, 0x28
test eax, eax
je 0x40473a
lea eax, [esp + 0x74]
push eax
push str.__ERROR_:_while_loading__s_n
call fcn.004293c0
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xe4
ret
mov eax, dword [esp + 0x34]
cmp eax, 4
jge 0x40475e
push eax
push str.__ERROR_:_nPts____d_n
call fcn.004293c0
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xe4
ret
mov eax, dword [esp + 0x20]
cmp eax, 1
jge 0x404782
push eax
push str.__ERROR_:_nCtrs___d_n
call fcn.004293c0
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xe4
ret
mov eax, dword [esp + 0x20]
push eax
push str.__d_contours_n
call fcn.004293c0
add esp, 8
mov edi, 0xffffffff
push 0x44c798
call fcn.004293c0
add esp, 4
xor ebx, ebx
nop
push str._BUILDING_POCKETS_IN_EACH_Z_LEVEL..._n
call fcn.004293c0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 0xc0f869f0
add esp, 4
cmp eax, ebx
jle 0x404836
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
sub eax, 8
mov dword [esp + 0x38], eax
fld dword [ebp + 0x18]
fcom qword [esp + 0x4c]
fstp qword [esp + 0x74]
fnstsw ax
test ah, 0x40
jne 0x404807
mov eax, dword [esp + 0x38]
inc edi
add eax, 8
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x38]
push ebp
call fcn.00402460
test eax, eax
jne 0x40482c
push 0x1a3
push 0x44c7c4
push str.pNode
call fcn.00428e50
add esp, 0xc
add ebp, 0x1c
inc ebx
cmp dword [esp + 0x20], ebx
jg 0x4047d9
inc edi
push edi
push str.__d_z_levels_n
call fcn.004293c0
add esp, 8
test edi, edi
jg 0x404860
push 0x1a8
push 0x44c7e8
push str.nLevels___0
call fcn.00428e50
add esp, 0xc
push 0x44c800
call fcn.004293c0
add esp, 4
cmp edi, 1
je 0x404889
fld dword [esi + 0xb4]
call fcn.00429398
cmp eax, 2
je 0x404889
push str._ZONE_BASED_POCKET_CLASSIFICATION..._n
jmp 0x40488e
push str._LEVEL_BASED_POCKET_CLASSIFICATION..._n
call fcn.004293c0
lea ecx, [esp + 0x58]
add esp, 4
call fcn.00402e00
mov eax, dword [esp + 0x18]
push edi
lea ecx, [esp + 0x58]
push eax
call fcn.00403260
test eax, eax
je 0x4048c9
push 0x1ba
push 0x44c854
push 0x44c860
call fcn.00428e50
add esp, 0xc
lea ecx, [esp + 0x54]
call fcn.00402f50
push eax
mov ebx, eax
push str.__d_pockets_n
call fcn.004293c0
add esp, 8
test ebx, ebx
jg 0x4048fd
push 0x1be
push 0x44c878
push 0x44c884
call fcn.00428e50
add esp, 0xc
fld dword [esi + 0xe4]
fstp qword [esp + 0x74]
mov eax, dword [esi + 0xe4]
test eax, eax
jle 0x40495b
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push eax
push ecx
lea ecx, [esp + 0x5c]
call fcn.00402f90
fld dword [esi + 0xe4]
mov ebx, eax
sub esp, 8
fstp qword [esp]
push ebx
push str.__d_pockets__width____.3fmm__n
call fcn.004293c0
add esp, 0x10
test ebx, ebx
jg 0x40495b
push 0x1c4
push 0x44c8b4
push 0x44c8c0
call fcn.00428e50
add esp, 0xc
mov dword [esp + 0x44], 0x3e8
xor ebp, ebp
test ebx, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], ebp
jle 0x4049a5
lea eax, [ebx*4]
push eax
call fcn.00429410
mov dword [esp + 0x4c], eax
add esp, 4
test eax, eax
jne 0x4049a1
push 0x6c
push str.z:wncsrcinclude_sh3_array.h
push str._data
call fcn.00428e50
add esp, 0xc
mov dword [esp + 0x40], ebx
cmp edi, 1
je 0x4049ca
fld dword [esi + 0xb4]
call fcn.00429398
cmp eax, 2
je 0x4049ca
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x54]
push eax
call fcn.00403c00
jmp 0x4049d8
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x54]
push eax
call fcn.00403c20
test eax, eax
jg 0x4049f3
push 0x1d4
push 0x44c8d0
push str.nPockets___0
call fcn.00428e50
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.00404160
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
je 0x404a2a
mov edi, dword [eax - 4]
lea ebx, [eax - 4]
lea ebp, [eax + edi*8]
dec edi
js 0x404a21
sub ebp, 8
mov ecx, ebp
call fcn.004022f0
dec edi
jns 0x404a14
push ebx
call fcn.00429400
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x404a3b
push eax
call fcn.00429400
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x404a6e
mov edi, dword [eax - 4]
lea ebx, [eax - 4]
lea ecx, [edi*8]
sub ecx, edi
dec edi
lea ebp, [eax + ecx*4]
js 0x404a65
sub ebp, 0x1c
mov ecx, ebp
call fcn.00401010
dec edi
jns 0x404a58
push ebx
call fcn.00429400
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x404a98
mov ebx, dword [eax - 4]
lea edi, [eax - 4]
lea ebp, [eax + ebx*8]
dec ebx
js 0x404a8f
sub ebp, 8
mov ecx, ebp
call fcn.00402340
dec ebx
jns 0x404a82
push edi
call fcn.00429400
add esp, 4
test esi, esi
je 0x404aa5
push esi
call fcn.00429490
add esp, 4
mov eax, dword [str._TMP_offset2.err]
mov ebx, dword [0x44c8f0]
mov dword [esp + 0x74], eax
mov ebp, dword [0x44c8f4]
mov dword [esp + 0x78], ebx
mov eax, dword [0x44c8f8]
mov dword [esp + 0x7c], ebp
mov ecx, str._TMP_offset2.err
mov dword [esp + 0x80], eax
lea edx, [esp + 0x74]
mov cl, byte [ecx + 0x10]
lea edi, [esp + 0x85]
xor eax, eax
mov byte [edx + 0x10], cl
mov ecx, 0x1b
push pe_nt_image_headers32
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [esp + 0x78]
push edx
call fcn.00408c04
add esp, 8
test eax, eax
je 0x404b1d
push 0x1ea
push 0x44c900
push 0x44c90c
call fcn.00428e50
add esp, 0xc
lea eax, [esp + 0x74]
push 0x44c914
push eax
call fcn.00429550
add esp, 8
test eax, eax
je 0x404b64
push eax
call fcn.00429420
lea eax, [esp + 0x78]
add esp, 4
push eax
call fcn.004294e0
add esp, 4
test eax, eax
je 0x404b64
push 0x1f0
push str.trizone.cxx
push str._err
call fcn.00428e50
add esp, 0xc
push str._DONE_n_n
call fcn.004293c0
mov eax, dword [esp + 0x4c]
add esp, 4
test eax, eax
je 0x404b82
push eax
call fcn.00429400
add esp, 4
xor eax, eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.00402e20
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xe4
ret