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

Disassembly:
mov eax, 0x156c
call fcn.004abe10
mov eax, dword [0x4e2204]
xor eax, esp
mov dword [esp + 0x1564], eax
push ebx
mov ebx, dword [esp + 0x1574]
mov eax, dword [ebx + 0x68]
push ebp
mov ebp, dword [esp + 0x157c]
shr eax, 1
push esi
push edi
mov dword [esp + 0x28], ebx
cmp eax, ebp
ja 0x435819
xor eax, eax
lea ecx, [esp + 0x98]
push ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov byte [esp + 0xa4], al
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
lea esi, [ebx + 0x64]
lea eax, [ebp + 1]
push esi
call fcn.00438240
mov eax, dword [esi]
push ebp
lea ecx, [esp + 0x38]
lea edx, [ebp + ebp*2]
push ecx
mov ecx, ebx
lea esi, [eax + edx*8]
call fcn.00436a80
push eax
lea edi, [esi + 0x14]
call fcn.00401250
mov eax, dword [esp + 0x34]
test eax, eax
je 0x43580d
push eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x435800
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x43580d
test eax, eax
jne 0x43580d
mov esi, dword [esp + 0x34]
call fcn.0045f5a0
lea ecx, [esp + 0x98]
call fcn.0041f1e0
mov esi, dword [ebx + 0x64]
lea eax, [ebp + ebp*2]
add eax, eax
add eax, eax
add eax, eax
add esi, eax
cmp byte [esi + 8], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], esi
je 0x436343
push 8
push str._lights_
lea edx, [esp + 0x18]
xor edi, edi
push edx
mov dword [esp + 0x1c], edi
call fcn.0043c500
push 1
push 0x4cfac8
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], edi
call fcn.0043c500
lea ecx, [esp + 0x10]
push ecx
push ecx
add esi, 0x10
push esi
push ecx
lea edx, [esp + 0x24]
push edx
push ecx
push ebp
lea eax, [esp + 0x3c]
push eax
mov eax, ebx
call fcn.00436990
add esp, 4
lea edi, [esp + 0x30]
call fcn.00421e30
add esp, 4
lea edi, [esp + 0x30]
call fcn.00421e30
add esp, 4
lea edi, [esp + 0x38]
call fcn.00421e30
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4358e3
push eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x4358ce
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4358db
test eax, eax
jne 0x4358db
mov esi, dword [esp + 0x24]
call fcn.0045f5a0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43591e
push eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x435909
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x435916
test eax, eax
jne 0x435916
mov esi, dword [esp + 0x1c]
call fcn.0045f5a0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
je 0x435961
push eax
mov esi, eax
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x43594c
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor ebp, ebp
mov dword [esp + 0x20], ebp
jmp 0x435963
xor ebp, ebp
cmp eax, ebp
jne 0x43595b
mov esi, dword [esp + 0x20]
call fcn.0045f5a0
mov dword [esp + 0x20], ebp
jmp 0x435963
xor ebp, ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
je 0x43598c
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x435983
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x43598c
cmp eax, ebp
jne 0x43598c
call fcn.0045f5a0
mov esi, dword [esp + 0x10]
cmp esi, ebp
je 0x4359b5
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x4359ac
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4359b5
cmp eax, ebp
jne 0x4359b5
call fcn.0045f5a0
lea esi, [esp + 0x80]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebp
call fcn.0044a930
push 0x38
lea ecx, [esp + 0x64]
push ebp
push ecx
call fcn.004a1b50
add esp, 0xc
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x64]
mov dword [esp + 0x70], 0x1e
call fcn.004619b0
mov esi, eax
cmp esi, ebp
je 0x435a23
lea edi, [esp + 0x60]
call fcn.00402b10
lea ecx, [esp + 0x24]
call fcn.00401420
lea ecx, [esp + 0x34]
call fcn.00401420
mov eax, esi
jmp 0x436345
lea edi, [esp + 0x24]
lea ecx, [esp + 0x60]
call fcn.00461b00
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x24]
lea edi, [ebp + 0xc]
push eax
call fcn.00401250
push edi
lea esi, [esp + 0x4ec]
call fcn.00403e50
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.00403f20
lea edx, [ebx + 0xb4]
push edx
lea eax, [esp + 0x90c]
push eax
lea eax, [esp + 0x38]
call fcn.00437f80
lea ecx, [esp + 0x30]
call fcn.00401420
mov esi, dword [esp + 0x918]
shr esi, 2
lea ecx, [esp + 0x98]
mov dword [esp + 0x4c], esi
call fcn.004041c0
lea edi, [esp + 0x98]
mov eax, esi
mov ecx, ebp
call fcn.004381b0
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test esi, esi
jbe 0x436100
lea ecx, [esp + 0x10]
push ecx
mov eax, ebp
lea ecx, [esp + 0x90c]
call fcn.00404a80
lea edx, [esp + 0x14]
push edx
mov eax, ebp
lea ecx, [esp + 0x90c]
call fcn.004352b0
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 0xd0]
mov dword [esp + 0x44], eax
mov eax, ebp
lea ecx, [esp + 0x908]
call fcn.00404760
test al, al
je 0x435b33
movss xmm1, dword [ebx + 0xf8]
xorps xmm0, xmm0
lea ecx, [ebx + 0xf4]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x435b2f
movss xmm1, dword [ecx + 0x14]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x435b2f
movss xmm1, dword [ecx + 0x18]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x435b33
mov dword [esp + 0x44], ecx
mov eax, ebp
lea ecx, [esp + 0x908]
call fcn.00404930
test al, al
jne 0x435c26
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x435b58
lea eax, [ebx + 4]
test eax, eax
jne 0x435b5d
mov eax, 0x4cb498
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x68]
shr edx, 1
cmp edx, dword [esp + 0x1584]
jbe 0x435baa
mov esi, dword [ecx + 0x64]
add esi, dword [esp + 0x40]
lea edi, [ebp + ebp*2]
mov edx, dword [esi]
shl edi, 4
cmp byte [edx + edi + 1], 0
je 0x435baa
mov ecx, dword [ecx + 0xbc]
test ecx, ecx
je 0x435ba3
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push 0
push eax
mov eax, dword [esp + 0x158c]
push ebp
push eax
call edx
mov eax, dword [esi]
mov byte [eax + edi + 1], 0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x435bdf
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x435bce
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x435bd7
test eax, eax
jne 0x435bd7
call fcn.0045f5a0
mov dword [esp + 0x14], 0
test ebx, ebx
je 0x4360ed
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x435c0e
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [esp + 0x10], 0
jmp 0x4360ed
test eax, eax
jne 0x435c19
mov esi, ebx
call fcn.0045f5a0
mov dword [esp + 0x10], 0
jmp 0x4360ed
mov eax, ebp
lea ecx, [esp + 0x908]
call fcn.00435160
test al, al
jne 0x435ca5
mov eax, dword [esp + 0x10]
test eax, eax
je 0x435c45
add eax, 4
jne 0x435c4a
mov eax, 0x4cb498
mov ecx, dword [ebx + 0x68]
mov edx, dword [esp + 0x1584]
shr ecx, 1
cmp ecx, edx
jbe 0x435c8e
mov esi, dword [ebx + 0x64]
add esi, dword [esp + 0x40]
lea edi, [ebp + ebp*2]
mov ecx, dword [esi]
shl edi, 4
cmp byte [edi + ecx + 1], 0
je 0x435c8e
mov ecx, dword [ebx + 0xbc]
test ecx, ecx
je 0x435c87
mov ebx, dword [ecx]
push 0
push eax
push ebp
push edx
mov edx, dword [ebx + 0xc]
call edx
mov eax, dword [esi]
mov byte [edi + eax + 1], 0
lea ecx, [esp + 0x14]
call fcn.00401420
lea ecx, [esp + 0x10]
call fcn.00401420
jmp 0x4360ed
lea ecx, [esp + 0x20]
push ecx
mov eax, ebp
lea ecx, [esp + 0x90c]
call fcn.00404c30
lea ecx, [ebx + 0x4c]
lea edx, [esp + 0x20]
call fcn.0041e510
cmp eax, 0xffffffff
je 0x435cd4
lea ecx, [esp + 0x20]
call fcn.00401420
jmp 0x435c8e
mov esi, 0xfffffffe
test dword [ebx + 0x5c], esi
je 0x435d76
lea edx, [esp + 0x30]
push edx
mov eax, ebp
lea ecx, [esp + 0x90c]
call fcn.00404a80
mov byte [esp + 0x1b], 0
test dword [ebx + 0x5c], esi
jbe 0x435d56
mov eax, dword [ebx + 0x5c]
mov edi, dword [ebx + 0x58]
mov esi, dword [esp + 0x30]
shr eax, 1
mov dword [esp + 0x38], eax
nop
mov eax, dword [edi]
test eax, eax
je 0x435d1b
add eax, 4
jmp 0x435d1d
xor eax, eax
test esi, esi
je 0x435d45
test eax, eax
je 0x435d45
push eax
lea eax, [esi + 4]
push eax
call section..text
add esp, 8
test eax, eax
je 0x435d45
sub eax, esi
sub eax, 4
cmp eax, 0xffffffff
je 0x435d45
mov byte [esp + 0x1b], 1
add edi, 4
sub dword [esp + 0x38], 1
jne 0x435d10
cmp byte [esp + 0x1b], 0
jne 0x435d6d
lea ecx, [esp + 0x30]
call fcn.00401420
lea ecx, [esp + 0x20]
call fcn.00401420
jmp 0x435c8e
lea ecx, [esp + 0x30]
call fcn.00401420
mov eax, dword [esp + 0x10]
test eax, eax
je 0x435d83
add eax, 4
jne 0x435d88
mov eax, 0x4cb498
push 1
push eax
mov eax, dword [esp + 0x158c]
push ebp
push ebx
call fcn.004356b0
push str.state
push ecx
mov eax, ebp
lea esi, [esp + 0xd4]
lea ecx, [esp + 0x4f0]
call fcn.00404060
add esp, 4
push eax
lea esi, [esp + 0x1158]
call fcn.00403f90
lea ecx, [esp + 0xcc]
push ecx
call fcn.00404120
mov edx, esi
push 0x4cfad8
push edx
lea esi, [esp + 0xd4]
call fcn.00403f90
mov ecx, dword [eax + 0x418]
test ecx, ecx
je 0x435df4
cmp byte [ecx], 0
jne 0x435df9
or edi, 0xffffffff
jmp 0x435e06
mov eax, ecx
push eax
call fcn.0049d74d
add esp, 4
mov edi, eax
lea ecx, [esp + 0xcc]
push ecx
call fcn.00404120
push 0x4cbb68
lea edx, [esp + 0x1154]
push edx
lea esi, [esp + 0xd4]
call fcn.00403f90
mov ecx, dword [eax + 0x418]
test ecx, ecx
je 0x435e3b
cmp byte [ecx], 0
jne 0x435e46
xorps xmm0, xmm0
movsd qword [esp + 0x50], xmm0
jmp 0x435e55
mov eax, ecx
push eax
call fcn.0049d8a0
fstp qword [esp + 0x54]
add esp, 4
lea ecx, [esp + 0xcc]
push ecx
call fcn.00404120
push 0x4cbb6c
lea edx, [esp + 0x1154]
push edx
lea esi, [esp + 0xd4]
call fcn.00403f90
mov ecx, dword [eax + 0x418]
test ecx, ecx
je 0x435e8a
cmp byte [ecx], 0
jne 0x435e95
xorps xmm0, xmm0
movsd qword [esp + 0x58], xmm0
jmp 0x435ea4
mov eax, ecx
push eax
call fcn.0049d8a0
fstp qword [esp + 0x5c]
add esp, 4
lea ecx, [esp + 0xcc]
push ecx
call fcn.00404120
push 0x4cfadc
lea edx, [esp + 0x1154]
push edx
lea esi, [esp + 0xd4]
call fcn.00403f90
mov ecx, dword [eax + 0x418]
test ecx, ecx
je 0x435ed9
cmp byte [ecx], 0
jne 0x435ede
or ebp, 0xffffffff
jmp 0x435eeb
mov eax, ecx
push eax
call fcn.0049d74d
add esp, 4
mov ebp, eax
lea ecx, [esp + 0xcc]
push ecx
call fcn.00404120
mov ebx, dword [esp + 0x44]
movss xmm0, dword [ebx + 0x20]
movss xmm2, dword [ebx + 0x1c]
mov eax, edi
sub eax, dword [ebx + 8]
cvtps2pd xmm1, xmm0
cdq
movsd xmm0, qword [esp + 0x58]
mov ecx, eax
xor ecx, edx
sub ecx, edx
mov eax, edi
sub eax, dword [ebx + 0x10]
subsd xmm0, xmm1
movsd xmm1, qword [0x4d3480]
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
mov eax, ebp
sub eax, dword [ebx + 0xc]
cvtps2pd xmm3, xmm2
movsd xmm2, qword [esp + 0x50]
cdq
movapd xmm4, xmm2
mov esi, eax
andpd xmm0, xmm1
subsd xmm4, xmm3
andpd xmm4, xmm1
movss xmm1, dword [ebx + 4]
xor esi, edx
addsd xmm0, xmm4
sub esi, edx
movss dword [esp + 0x48], xmm1
fld dword [esp + 0x48]
fistp dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0
jne 0x435fb7
movss xmm1, dword [ebx + 0x14]
ucomiss xmm1, dword [0x4d3530]
lahf
test ah, 0x44
jp 0x435fb7
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*2]
mov byte [edx + 0x118], 1
mov edx, dword [ecx]
shl eax, 4
mov byte [eax + edx], 1
lea eax, [esp + 0x1150]
push eax
jmp 0x4360c9
xorps xmm1, xmm1
ucomisd xmm2, xmm1
lahf
mov dl, 1
test ah, 0x44
jp 0x435fcb
cmp edi, 0xffffffff
je 0x436006
cmp dword [ebx + 8], 0
je 0x435fd6
cmp ecx, 5
jb 0x436000
movss xmm3, dword [ebx + 0x1c]
ucomiss xmm3, dword [0x4d3530]
lahf
test ah, 0x44
jnp 0x436004
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jnp 0x436004
movsd xmm1, qword [0x4d38e8]
comisd xmm1, xmm0
jbe 0x436004
mov dl, 1
jmp 0x436006
xor dl, dl
cmp esi, 2
setl bl
test dl, dl
je 0x436018
test bl, bl
jne 0x4360c1
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov byte [ecx + 0x118], 1
mov edx, dword [eax]
lea edi, [edi + edi*2]
shl edi, 4
mov byte [edi + edx], 1
mov eax, dword [eax]
add eax, edi
cmp dword [eax + 0x2c], 0xffffffff
lea esi, [eax + 8]
je 0x436091
call fcn.0044aa40
fld qword [0x4c8900]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x436091
test bl, bl
jne 0x4360a5
test ebp, ebp
je 0x436095
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [edx + edi + 0x18]
or ecx, dword [edx + edi + 0x1c]
lea eax, [edx + edi]
je 0x43607c
cmp ebp, dword [eax + 0x2c]
je 0x436095
cmp ebp, dword [eax + 0x28]
je 0x436095
mov ecx, ebp
call fcn.00435050
mov esi, dword [esp + 0x28]
add esi, 0x70
call fcn.0044a980
jmp 0x436095
test bl, bl
jne 0x4360a5
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [eax + edi + 8]
or ecx, dword [eax + edi + 0xc]
jne 0x4360c1
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [eax + edi + 0x18]
add eax, edi
or ecx, dword [eax + 0x1c]
je 0x4360c1
xor ecx, ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
lea edx, [esp + 0x1150]
push edx
call fcn.00404120
lea ecx, [esp + 0x20]
call fcn.00401420
lea ecx, [esp + 0x14]
call fcn.00401420
lea ecx, [esp + 0x10]
call fcn.00401420
mov ebp, dword [esp + 0x1c]
inc ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [esp + 0x4c]
jb 0x435ab3
mov ebx, dword [esp + 0x28]
lea edi, [ebx + 0x80]
xor esi, esi
cmp dword [edi + 8], esi
je 0x436119
lea eax, [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x436122
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov eax, dword [edi + 0x28]
cmp eax, esi
je 0x43612e
call fcn.0041f100
and dword [edi + 0x2c], 1
mov dword [edi + 0x28], esi
test dword [ebx + 0x68], 0xfffffffe
jbe 0x43615c
mov ebx, dword [esp + 0x28]
xor ebp, ebp
mov ecx, dword [ebx + 0x64]
add ecx, ebp
push ecx
call fcn.004382f0
mov edx, dword [ebx + 0x68]
inc esi
shr edx, 1
add ebp, 0x18
cmp esi, edx
jb 0x436144
cmp dword [edi + 8], 0
je 0x43616e
add edi, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x436177
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
mov ecx, edi
call edx
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x436187
call fcn.0041eff0
and dword [esp + 0x1144], 1
lea eax, [esp + 0xd24]
push eax
mov dword [esp + 0x1144], 0
call fcn.00404120
mov eax, dword [esp + 0xd1c]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
je 0x436202
push eax
mov esi, eax
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x4361df
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push esi
call ebp
mov dword [esp + 0xd1c], 0
jmp 0x436208
test eax, eax
jne 0x4361ef
mov esi, dword [esp + 0xd1c]
call fcn.0045f5a0
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [esp + 0xd1c], 0
jmp 0x436208
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, dword [esp + 0x914]
xor edi, edi
cmp esi, edi
je 0x43621a
call fcn.0045f5a0
mov eax, dword [esp + 0x910]
and dword [esp + 0x918], 1
mov dword [esp + 0x914], edi
cmp eax, edi
je 0x436261
push eax
mov esi, eax
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x43624a
push esi
call ebp
jmp 0x43625a
cmp eax, edi
jne 0x43625a
mov esi, dword [esp + 0x910]
call fcn.0045f5a0
mov dword [esp + 0x910], edi
mov eax, dword [esp + 0x8fc]
cmp eax, edi
je 0x436299
push eax
mov esi, eax
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x436282
push esi
call ebp
jmp 0x436292
cmp eax, edi
jne 0x436292
mov esi, dword [esp + 0x8fc]
call fcn.0045f5a0
mov dword [esp + 0x8fc], edi
mov esi, dword [esp + 0x4f4]
cmp esi, edi
je 0x4362a9
call fcn.0045f5a0
mov eax, dword [esp + 0x4f0]
and dword [esp + 0x4f8], 1
mov dword [esp + 0x4f4], edi
cmp eax, edi
je 0x4362f0
push eax
mov esi, eax
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x4362d9
push esi
call ebp
jmp 0x4362e9
cmp eax, edi
jne 0x4362e9
mov esi, dword [esp + 0x4f0]
call fcn.0045f5a0
mov dword [esp + 0x4f0], edi
lea edi, [esp + 0x60]
call fcn.00402b10
mov esi, dword [esp + 0x24]
test esi, esi
je 0x43631e
push esi
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x436315
push esi
call ebp
jmp 0x43631e
test eax, eax
jne 0x43631e
call fcn.0045f5a0
mov esi, dword [esp + 0x34]
test esi, esi
je 0x436343
push esi
call ebx
and eax, 0xff
cmp eax, 0x80
jl 0x43633a
push esi
call ebp
jmp 0x436343
test eax, eax
jne 0x436343
call fcn.0045f5a0
xor eax, eax
mov ecx, dword [esp + 0x1574]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049ceb0
add esp, 0x156c
ret 8