Function at 0x492be0
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5a4821
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x5f13cc]
xor eax, esp
mov dword [esp + 0xa4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f13cc]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xcc]
test eax, eax
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
je 0x493894
mov ecx, dword [eax + 0x4c]
add eax, 0x2c
cmp ecx, eax
je 0x4930d1
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x4930d1
mov edi, edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x14]
add ecx, 8
xor ebp, ebp
mov eax, ecx
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x3c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x492c72
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.00405f50
mov dword [esp + 0xc4], ebp
mov ecx, dword [edi + 0x18]
add ecx, 8
mov eax, ecx
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebp
mov byte [esp + 0x74], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x492cb1
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x78]
call fcn.00405f50
mov byte [esp + 0xc4], 1
cmp dword [esp + 0x88], 0x10
jb 0x492ce5
mov edi, dword [esp + 0x74]
cmp edi, ebp
jne 0x492ce9
xor ebp, ebp
jmp 0x492d3f
lea edi, [esp + 0x74]
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0057740a
mov ebp, eax
add esp, 4
lea eax, [esi + esi + 2]
push eax
push 0
push ebp
call fcn.00580260
add esp, 0xc
push esi
push ebp
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, dword [esp + 0x4c]
cmp esi, 7
mov eax, esi
jb 0x492d4f
mov eax, 7
mov edi, dword [esp + 0x50]
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492d60
lea edx, [esp + 0x3c]
mov ecx, str.bIsShow
call fcn.004403d0
test eax, eax
jne 0x492dce
cmp esi, 7
jb 0x492dce
cmp esi, 7
setne al
test eax, eax
jne 0x492dce
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
call fcn.00404460
mov eax, dword [eax]
push str.TRUE
push eax
call fcn.00579288
xor edx, edx
add esp, 8
test eax, eax
mov eax, dword [ebx]
sete dl
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49305b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x49305b
cmp esi, 6
mov eax, esi
jb 0x492dda
mov eax, 6
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492de7
lea edx, [esp + 0x3c]
mov ecx, str.Height
call fcn.004403d0
test eax, eax
jne 0x492e1a
cmp esi, 6
jb 0x492e1a
cmp esi, 6
setne al
test eax, eax
jne 0x492e1a
push 0xa
push eax
push ebp
call fcn.00578c22
mov ecx, dword [ebx]
add esp, 0xc
mov dword [ecx + 0x30], eax
jmp 0x49305b
cmp esi, 5
mov eax, esi
jb 0x492e26
mov eax, 5
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492e33
lea edx, [esp + 0x3c]
mov ecx, str.Width
call fcn.004403d0
test eax, eax
jne 0x492e66
cmp esi, 5
jb 0x492e66
cmp esi, 5
setne al
test eax, eax
jne 0x492e66
push 0xa
push eax
push ebp
call fcn.00578c22
mov edx, dword [ebx]
add esp, 0xc
mov dword [edx + 0x34], eax
jmp 0x49305b
cmp esi, 7
mov eax, esi
jb 0x492e72
mov eax, 7
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492e7f
lea edx, [esp + 0x3c]
mov ecx, str.Caption
call fcn.004403d0
test eax, eax
jne 0x492ead
cmp esi, 7
jb 0x492ead
cmp esi, 7
setne al
test eax, eax
jne 0x492ead
mov edi, dword [ebx]
add edi, 0x2c
mov edx, ebp
call fcn.004040f0
jmp 0x49305b
cmp esi, 4
mov eax, esi
jb 0x492eb9
mov eax, 4
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492ec6
lea edx, [esp + 0x3c]
mov ecx, str.Type
call fcn.004403d0
test eax, eax
jne 0x492f76
cmp esi, 4
jb 0x492f76
cmp esi, 4
setne al
test eax, eax
jne 0x492f76
lea eax, [esp + 0x30]
push eax
mov ecx, str.MAIN_ITEM
call fcn.00404460
push eax
mov ecx, ebp
call fcn.004866f0
mov ecx, dword [ebx]
add esp, 4
neg al
sbb eax, eax
and eax, 2
add eax, 0xffffffff
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x492f38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx]
cmp dword [ecx + 0x38], 0xffffffff
jne 0x49305b
lea edx, [esp + 0x28]
push edx
mov ecx, str.SUB_ITEM
call fcn.00404460
push eax
mov ecx, ebp
call fcn.004866f0
mov ecx, dword [ebx]
add esp, 4
neg al
sbb eax, eax
and eax, 3
add eax, 0xffffffff
mov dword [ecx + 0x38], eax
lea ecx, [esp + 0x28]
jmp 0x493056
cmp esi, 2
mov eax, esi
jb 0x492f82
mov eax, 2
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492f8f
lea edx, [esp + 0x3c]
mov ecx, 0x5c6494
call fcn.004403d0
test eax, eax
jne 0x492fc2
cmp esi, 2
jb 0x492fc2
cmp esi, 2
setne al
test eax, eax
jne 0x492fc2
push 0xa
push eax
push ebp
call fcn.00578c22
mov edx, dword [ebx]
add esp, 0xc
mov dword [edx + 0x3c], eax
jmp 0x49305b
cmp esi, 9
mov eax, esi
jb 0x492fce
mov eax, 9
cmp edi, 0x10
mov edx, dword [esp + 0x3c]
jae 0x492fdb
lea edx, [esp + 0x3c]
mov ecx, str.bIsExpand
call fcn.004403d0
test eax, eax
jne 0x49305b
cmp esi, 9
jb 0x49305b
cmp esi, 9
setne al
test eax, eax
jne 0x49305b
lea eax, [esp + 0x18]
push eax
mov ecx, ebp
call fcn.00404460
mov byte [esp + 0xc4], 2
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 0xc], 0
jne 0x493021
mov edx, dword [ebx]
mov dword [edx + 0x28], 0
jmp 0x493052
lea eax, [esp + 0x2c]
push eax
mov ecx, ebp
call fcn.00404460
mov eax, dword [eax]
push str.TRUE
push eax
call fcn.00579288
mov edx, dword [ebx]
xor ecx, ecx
add esp, 8
test eax, eax
sete cl
mov dword [edx + 0x28], ecx
lea ecx, [esp + 0x2c]
call fcn.00404510
lea ecx, [esp + 0x18]
call fcn.00404510
test ebp, ebp
je 0x493068
push ebp
call fcn.0057832c
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x88], esi
jb 0x493083
mov eax, dword [esp + 0x74]
push eax
call fcn.00578327
add esp, 4
mov dword [esp + 0xc4], 0xffffffff
cmp dword [esp + 0x50], esi
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
jb 0x4930bc
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00578327
add esp, 4
mov ecx, dword [esp + 0x1c]
call fcn.005736b0
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x492c50
mov ecx, dword [esp + 0x24]
push str.Attribute
call fcn.005734c0
test eax, eax
mov dword [esp + 0x18], eax
je 0x49388f
mov ecx, dword [eax + 0x4c]
add eax, 0x2c
cmp ecx, eax
je 0x49343c
mov ebx, ecx
test ebx, ebx
je 0x49343c
mov ecx, dword [ebx + 0x14]
add ecx, 8
mov ebp, 0xf
xor edi, edi
mov eax, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], edi
mov byte [esp + 0x3c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x493122
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.00405f50
mov dword [esp + 0xc4], 3
mov ecx, dword [ebx + 0x18]
add ecx, 8
mov eax, ecx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], edi
mov byte [esp + 0x74], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x493161
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x78]
call fcn.00405f50
mov byte [esp + 0xc4], 4
cmp dword [esp + 0x88], 0x10
jb 0x493195
mov ebp, dword [esp + 0x74]
cmp ebp, edi
jne 0x493199
xor esi, esi
jmp 0x4931ef
lea ebp, [esp + 0x74]
push 0
push 0
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0057740a
mov esi, eax
add esp, 4
lea eax, [edi + edi + 2]
push eax
push 0
push esi
call fcn.00580260
add esp, 0xc
push edi
push esi
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, dword [esp + 0x4c]
cmp edi, 8
mov eax, edi
jb 0x4931ff
mov eax, 8
mov ebp, dword [esp + 0x50]
cmp ebp, 0x10
mov edx, dword [esp + 0x3c]
jae 0x493210
lea edx, [esp + 0x3c]
mov ecx, str.FocusPic
call fcn.004403d0
test eax, eax
jne 0x493295
cmp edi, 8
jb 0x493295
cmp edi, 8
setne al
test eax, eax
jne 0x493295
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x49325f
mov ecx, dword [0x5fe658]
push 0x2010
push 0
push 0
push 0
push esi
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov dword [ecx + 0x44], eax
jmp 0x4933ca
push 0x2000
push 0
push 0
push 0
push 0xa
push 0
push esi
call fcn.00578c22
movzx edx, ax
mov eax, dword [0x5fe658]
add esp, 0xc
push edx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [edx + 0x44], eax
jmp 0x4933ca
cmp edi, 9
mov eax, edi
jb 0x4932a1
mov eax, 9
cmp ebp, 0x10
mov edx, dword [esp + 0x3c]
jae 0x4932ae
lea edx, [esp + 0x3c]
mov ecx, str.NormalPic
call fcn.004403d0
test eax, eax
jne 0x493333
cmp edi, 9
jb 0x493333
cmp edi, 9
setne al
test eax, eax
jne 0x493333
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4932fc
mov eax, dword [0x5fe658]
push 0x2010
push 0
push 0
push 0
push esi
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [edx + 0x40], eax
jmp 0x4933ca
push 0x2000
push 0
push 0
push 0
push 0xa
push 0
push esi
call fcn.00578c22
mov ecx, dword [0x5fe658]
movzx eax, ax
add esp, 0xc
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov dword [ecx + 0x40], eax
jmp 0x4933ca
cmp edi, 0xa
mov eax, edi
jb 0x49333f
mov eax, 0xa
cmp ebp, 0x10
mov edx, dword [esp + 0x3c]
jae 0x49334c
lea edx, [esp + 0x3c]
mov ecx, str.CheckedPic
call fcn.004403d0
test eax, eax
jne 0x4933ca
cmp edi, 0xa
jb 0x4933ca
cmp edi, 0xa
setne al
test eax, eax
jne 0x4933ca
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x493398
mov edx, dword [0x5fe658]
push 0x2010
push 0
push 0
push 0
push esi
push edx
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [edx + 0x48], eax
jmp 0x4933ca
push 0x2000
push 0
push 0
push 0
push 0xa
push 0
push esi
call fcn.00578c22
mov ecx, dword [0x5fe658]
movzx eax, ax
add esp, 0xc
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov dword [ecx + 0x48], eax
test esi, esi
je 0x4933d7
push esi
call fcn.0057832c
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x88], esi
jb 0x4933f2
mov edx, dword [esp + 0x74]
push edx
call fcn.00578327
add esp, 4
mov dword [esp + 0xc4], 0xffffffff
cmp dword [esp + 0x50], esi
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
jb 0x49342b
mov eax, dword [esp + 0x3c]
push eax
call fcn.00578327
add esp, 4
mov ecx, ebx
call fcn.005736b0
mov ebx, eax
test ebx, ebx
jne 0x493103
mov ecx, dword [esp + 0x18]
push str.Adjunct
call fcn.005734c0
test eax, eax
mov dword [esp + 0x1c], eax
je 0x49388f
jmp 0x493464
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x4c]
add eax, 0x2c
mov ebx, ecx
sub ebx, eax
neg ebx
sbb ebx, ebx
and ebx, ecx
push 0x2c
lea ecx, [esp + 0x74]
push 0
push ecx
mov dword [esp + 0x24], ebx
call fcn.00580260
add esp, 0xc
test ebx, ebx
je 0x493868
mov ecx, dword [ebx + 0x14]
add ecx, 8
mov ebp, 0xf
xor edi, edi
mov eax, ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4934b0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x5c]
call fcn.00405f50
mov dword [esp + 0xc4], 5
mov ecx, dword [ebx + 0x18]
add ecx, 8
mov eax, ecx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], edi
mov byte [esp + 0xa0], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4934f2
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0xa4]
call fcn.00405f50
mov byte [esp + 0xc4], 6
cmp dword [esp + 0xb4], 0x10
jb 0x49352c
mov ebp, dword [esp + 0xa0]
test ebp, ebp
jne 0x493533
xor esi, esi
jmp 0x49358b
lea ebp, [esp + 0xa0]
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call ebx
mov edi, eax
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0057740a
mov esi, eax
add esp, 4
lea eax, [edi + edi + 2]
push eax
push 0
push esi
call fcn.00580260
add esp, 0xc
push edi
push esi
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call ebx
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x68]
cmp edi, 8
mov eax, edi
jb 0x49359b
mov eax, 8
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x4935aa
lea edx, [esp + 0x58]
mov ecx, str.FocusPic
call fcn.004403d0
xor ebp, ebp
cmp eax, ebp
jne 0x493622
cmp edi, 8
jb 0x493622
xor eax, eax
cmp edi, 8
setne al
cmp eax, ebp
jne 0x493622
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4935f5
mov ecx, dword [0x5fe658]
push 0x2010
push ebp
push ebp
push ebp
push esi
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x74], eax
jmp 0x4937e5
push 0x2000
push ebp
push ebp
push ebp
push 0xa
push ebp
push esi
call fcn.00578c22
movzx edx, ax
mov eax, dword [0x5fe658]
add esp, 0xc
push edx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x74], eax
jmp 0x4937e5
cmp edi, 9
mov eax, edi
jb 0x49362e
mov eax, 9
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x49363d
lea edx, [esp + 0x58]
mov ecx, str.NormalPic
call fcn.004403d0
cmp eax, ebp
jne 0x4936b3
cmp edi, 9
jb 0x4936b3
xor eax, eax
cmp edi, 9
setne al
cmp eax, ebp
jne 0x4936b3
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x493686
mov ecx, dword [0x5fe658]
push 0x2010
push ebp
push ebp
push ebp
push esi
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x70], eax
jmp 0x4937e5
push 0x2000
push ebp
push ebp
push ebp
push 0xa
push ebp
push esi
call fcn.00578c22
movzx edx, ax
mov eax, dword [0x5fe658]
add esp, 0xc
push edx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x70], eax
jmp 0x4937e5
cmp edi, 0xa
mov eax, edi
jb 0x4936bf
mov eax, 0xa
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x4936ce
lea edx, [esp + 0x58]
mov ecx, str.CheckedPic
call fcn.004403d0
cmp eax, ebp
jne 0x493744
cmp edi, 0xa
jb 0x493744
xor eax, eax
cmp edi, 0xa
setne al
cmp eax, ebp
jne 0x493744
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x493717
mov ecx, dword [0x5fe658]
push 0x2010
push ebp
push ebp
push ebp
push esi
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x78], eax
jmp 0x4937e5
push 0x2000
push ebp
push ebp
push ebp
push 0xa
push ebp
push esi
call fcn.00578c22
movzx edx, ax
mov eax, dword [0x5fe658]
add esp, 0xc
push edx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x78], eax
jmp 0x4937e5
cmp edi, 7
mov eax, edi
jb 0x493750
mov eax, 7
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x49375f
lea edx, [esp + 0x58]
mov ecx, str.picrect
call fcn.004403d0
cmp eax, ebp
jne 0x49378d
cmp edi, 7
jb 0x493792
xor eax, eax
cmp edi, 7
setne al
cmp eax, ebp
jne 0x49378d
lea ecx, [esp + 0x7c]
push ecx
push ecx
mov edx, esp
mov dword [esp + 0x2c], esp
push edx
jmp 0x4937d9
cmp edi, 7
jae 0x493796
mov eax, edi
jmp 0x49379b
mov eax, 7
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x4937aa
lea edx, [esp + 0x58]
mov ecx, str.tagrect
call fcn.004403d0
cmp eax, ebp
jne 0x4937e5
cmp edi, 7
jb 0x4937e5
xor eax, eax
cmp edi, 7
setne al
cmp eax, ebp
jne 0x4937e5
lea eax, [esp + 0x8c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ecx
mov ecx, esi
call fcn.00404460
call fcn.004938c0
cmp esi, ebp
je 0x4937f2
push esi
call fcn.0057832c
add esp, 4
cmp dword [esp + 0xb4], 0x10
jb 0x49380c
mov edx, dword [esp + 0xa0]
push edx
call fcn.00578327
add esp, 4
mov esi, 0xf
mov dword [esp + 0xc4], 0xffffffff
cmp dword [esp + 0x6c], 0x10
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
jb 0x493846
mov eax, dword [esp + 0x58]
push eax
call fcn.00578327
add esp, 4
mov ecx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.005736b0
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x18], ebx
jne 0x493491
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx]
add esi, 0x4c
lea eax, [esp + 0x70]
call fcn.00493b50
mov ecx, dword [esp + 0x1c]
call fcn.00573500
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x493460
mov eax, 1
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.005787fd
add esp, 0xb4
ret 4