Function at 0x4a27d7
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
sub esp, 0x68
mov eax, 0x57397d
call fcn.00566e38
sub esp, 0x660
push esi
mov esi, ecx
mov dword [ebp + 0x68], esi
call fcn.004a079f
mov ecx, dword [ebp + 0x74]
lea edx, [ebp - 0x66c]
push 0x600
call fcn.00414a6e
test eax, eax
jne 0x4a3274
push ebx
xor ebx, ebx
mov eax, ebx
push edi
xor edx, edx
inc edx
cmp byte [ebp + eax - 0x66c], bl
jne 0x4a326f
inc eax
cmp eax, 0x400
jb 0x4a2817
mov cl, byte [ebp - 0x26c]
mov eax, dword [ebp - 0x26b]
mov byte [esi + 0x24], cl
mov byte [esi + 0x25], al
push 9
pop edi
mov dword [ebp + 0x24], edi
cmp cl, 0x42
jne 0x4a298e
cmp al, 0x44
jne 0x4a298e
cmp byte [ebp - 0x1f0], 0x48
jne 0x4a326f
cmp byte [ebp - 0x1ef], 0x2b
jne 0x4a326f
mov edx, dword [ebp - 0x258]
bswap edx
cmp edx, 0x200
je 0x4a2897
cmp edi, 0x1f
je 0x4a326f
xor eax, eax
inc edi
inc eax
mov ecx, edi
shl eax, cl
cmp eax, edx
jne 0x4a2882
movzx eax, byte [ebp - 0x25a]
mov ecx, edi
movzx edx, byte [ebp - 0x259]
shl eax, 8
or eax, edx
mov dword [esi + 0x38], edi
xor edx, edx
mov dword [esi + 0x3c], eax
add eax, 2
adc edx, ebx
call fcn.00567120
mov dword [esi + 0x68], eax
mov edi, edx
mov dword [ebp + 0x54], eax
movzx eax, byte [ebp - 0x1ee]
cdq
mov ecx, eax
mov dword [esi + 0x6c], edi
movzx eax, byte [ebp - 0x1ed]
mov esi, edx
shld esi, ecx, 8
cdq
shl ecx, 8
or edx, esi
mov esi, dword [ebp + 0x68]
or ecx, eax
xor eax, eax
inc eax
add eax, ecx
mov ecx, dword [esi + 0x38]
adc edx, ebx
call fcn.00567120
mov dword [esi + 0x58], eax
mov ecx, edx
mov dword [ebp + 0x4c], eax
movzx eax, byte [ebp - 0x1ec]
mov dword [esi + 0x5c], ecx
cdq
mov dword [ebp + 0x64], ecx
mov esi, edx
mov ecx, eax
movzx eax, byte [ebp - 0x1eb]
shld esi, ecx, 8
cdq
or edx, esi
shl ecx, 8
mov esi, dword [ebp + 0x68]
or eax, ecx
mov ecx, dword [esi + 0x38]
call fcn.00567120
mov ecx, dword [ebp + 0x4c]
add eax, ecx
adc edx, dword [ebp + 0x64]
cmp edi, edx
ja 0x4a294b
jb 0x4a2945
cmp dword [ebp + 0x54], eax
jae 0x4a294b
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], edx
mov edi, dword [ebp + 0x74]
push ebx
push ebx
push dword [ebp + 0x64]
mov eax, dword [edi]
push ecx
push edi
call dword [eax + 0x10]
test eax, eax
jne 0x4a3272
push 0x600
lea edx, [ebp - 0x66c]
mov ecx, edi
call fcn.00414a6e
test eax, eax
jne 0x4a3272
mov eax, dword [ebp - 0x26b]
xor edx, edx
mov cl, byte [ebp - 0x26c]
inc edx
push 9
pop edi
cmp cl, 0x48
jne 0x4a326f
cmp al, 0x2b
je 0x4a29a3
cmp al, 0x58
jne 0x4a326f
movzx ecx, byte [ebp - 0x26a]
movzx eax, byte [ebp - 0x269]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi + 0x26], ax
add eax, 0xfffffffc
cmp ax, dx
ja 0x4a326f
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x24c]
bswap eax
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x258]
bswap eax
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x248]
bswap eax
mov dword [esi + 0x34], eax
bswap ecx
mov dword [esi + 0x30], ecx
cmp eax, 0x20000000
ja 0x4a326f
cmp ecx, 0x40000000
ja 0x4a326f
mov edx, dword [ebp + 0x74]
lea eax, [esi + 0x70]
push eax
push 2
push ebx
mov ecx, dword [edx]
push ebx
push edx
call dword [ecx + 0x10]
test eax, eax
jne 0x4a3272
mov edx, dword [ebp + 0x78]
test edx, edx
je 0x4a2a56
mov eax, dword [esi + 0x34]
xor ecx, ecx
add eax, dword [esi + 0x30]
push ebx
adc ecx, ebx
add eax, 1
mov dword [ebp + 0x58], eax
mov eax, dword [edx]
adc ecx, ebx
mov dword [ebp + 0x5c], ecx
lea ecx, [ebp + 0x58]
push ecx
push edx
call dword [eax + 0xc]
test eax, eax
jne 0x4a3272
mov edx, dword [ebp - 0x244]
mov ecx, edi
bswap edx
cmp edx, 0x200
je 0x4a2a7b
cmp ecx, 0x1f
je 0x4a326f
xor eax, eax
inc ecx
inc eax
shl eax, cl
cmp eax, edx
jne 0x4a2a68
mov eax, dword [ebp - 0x240]
bswap eax
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x23c]
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x48]
bswap eax
push str.rsrc
mov dword [esi + 0x40], eax
call fcn.00402765
xorps xmm0, xmm0
mov dword [ebp - 0x34], ebx
movlpd qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], ebx
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
movlpd qword [ebp], xmm0
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x3c]
call fcn.004a33b8
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x24]
call fcn.004a33b8
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp]
call fcn.004a33b8
push fcn.0045e8e4
push 0x4a02c3
push 2
push 0xc
lea eax, [ebp - 0x54]
push eax
call fcn.00566e57
push dword [esi + 0x38]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.004a1fdc
test al, al
je 0x4a2d50
cmp dword [ebp - 0x34], 0
je 0x4a2d54
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
push dword [ebp + 0x74]
lea eax, [ebp + 0x58]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.004a3568
mov edi, eax
test edi, edi
jne 0x4a2bbf
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
cmp eax, 0x78
jb 0x4a2bba
mov edi, dword [ebp + 0x58]
push 9
movzx ecx, byte [edi + 0x20]
movzx eax, byte [edi + 0x21]
mov edx, dword [edi + 0x18]
shl ecx, 8
or ecx, eax
bswap edx
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x64], 0x200
mov dword [ebp + 0x50], edx
pop ecx
jmp 0x4a2ba5
xor eax, eax
cmp ecx, 0x10
je 0x4a2bbc
inc ecx
inc eax
shl eax, cl
cmp eax, dword [ebp + 0x64]
mov dword [ebp + 0x40], ecx
jne 0x4a2b97
mov eax, dword [edi + 0x24]
shr dword [ebp + 0x60], cl
bswap eax
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x60], eax
jae 0x4a2be2
xor eax, eax
lea edi, [eax + 1]
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.00566e0e
pop ecx
cmp edi, 1
je 0x4a2d50
test edi, edi
je 0x4a2d54
jmp 0x4a2f23
test edx, edx
jne 0x4a2bf6
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
pop ecx
jmp 0x4a2d54
test eax, eax
jne 0x4a2c09
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
jmp 0x4a2d4f
push eax
lea ecx, [ebp + 0x64]
call fcn.00406f89
push dword [ebp + 0x28]
mov esi, dword [ebp + 0x64]
push ebx
push esi
mov byte [ebp - 4], 5
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 0x50]
add esp, 0xc
cmp eax, dword [ebp + 0x28]
jae 0x4a2d3b
cmp byte [esi + eax], 0
jne 0x4a2d3b
mov ecx, dword [ebp + 0x40]
mov byte [esi + eax], 1
shl eax, cl
mov dword [ebp + 0x50], eax
add eax, edi
push ecx
push eax
lea ecx, [ebp + 0x18]
call fcn.004a3406
test al, al
je 0x4a2d3b
cmp byte [ebp + 0x1c], 0xff
jne 0x4a2d3b
cmp dword [ebp + 0x20], 0
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x54], ebx
jbe 0x4a2e78
mov ecx, dword [ebp + 0x40]
xor eax, eax
inc eax
mov dword [ebp + 0x4c], ebx
shl eax, cl
mov ecx, ebx
mov dword [ebp + 0x2c], eax
mov edx, edi
sub edx, ecx
add edx, eax
add edx, dword [ebp + 0x50]
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx - 3]
mov dword [ebp + 0x48], ecx
movzx ecx, byte [edx - 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x48]
sub ecx, eax
cmp ecx, 0x4c
jne 0x4a2d3b
lea edx, [edi + eax]
add edx, dword [ebp + 0x50]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl ax, 8
or cx, ax
cmp cx, 0xa
jne 0x4a2d3b
mov al, byte [edx + 2]
test al, al
jne 0x4a2ce3
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
jmp 0x4a2cf1
cmp al, 0xff
jne 0x4a2e5c
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x34], eax
mov eax, dword [edx + 4]
bswap eax
mov dword [ebp + 0x30], eax
mov eax, dword [edx + 8]
add edx, 0xc
cmp dword [ecx + 4], 0
bswap eax
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x38], edx
je 0x4a2df6
mov esi, dword [ecx + 4]
mov eax, dword [ebp + 0x34]
mov eax, dword [eax + esi*4 - 4]
mov esi, dword [ebp + 0x30]
cmp dword [eax], esi
mov esi, dword [ebp + 0x64]
jne 0x4a2df6
mov eax, dword [ebp + 0x60]
cmp eax, dword [ebp + 0x48]
je 0x4a2e0f
push esi
call fcn.00566e0e
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
mov esi, dword [ebp + 0x68]
pop ecx
pop ecx
mov byte [esi + 0x44], 1
mov edi, dword [esi + 0x38]
lea eax, [ebp - 0x54]
push 4
push eax
lea ecx, [ebp - 0x24]
call fcn.004a37c0
test al, al
je 0x4a2f1e
push edi
lea ecx, [ebp - 0x24]
call fcn.004a1fdc
test al, al
je 0x4a2f1e
mov edi, dword [esi + 0x38]
lea eax, [ebp - 0x54]
push 8
push eax
lea ecx, [ebp]
call fcn.004a37c0
test al, al
je 0x4a3232
push edi
lea ecx, [ebp]
call fcn.004a1fdc
test al, al
je 0x4a3232
mov eax, dword [ebp]
or eax, dword [ebp + 4]
je 0x4a3238
cmp dword [ebp + 8], 0
je 0x4a3238
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
push dword [ebp + 0x74]
lea eax, [ebp + 0x58]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp]
mov ecx, esi
push eax
call fcn.004a3568
mov edi, eax
test edi, edi
je 0x4a2e9d
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.00566e0e
pop ecx
jmp 0x4a2f23
call fcn.004a062a
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x38]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x48]
mov dword [eax + 4], ecx
mov dword [ebp + 0x60], ecx
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ecx + 4]
mov edi, dword [ebp + 0x60]
push 8
mov eax, dword [eax]
pop esi
mov eax, dword [eax + ecx*4 - 4]
mov ebx, eax
mov dword [ebp + 0x48], eax
mov eax, dword [edx + 4]
mov ecx, dword [edx]
bswap eax
mov dword [ebp + 0x48], eax
bswap ecx
test eax, eax
je 0x4a2e46
push eax
push ecx
lea ecx, [ebx + 8]
call fcn.00413a11
add edi, dword [ebp + 0x48]
mov edx, dword [ebp + 0x38]
add edx, 8
mov dword [ebp + 0x38], edx
sub esi, 1
jne 0x4a2e26
mov esi, dword [ebp + 0x64]
xor ebx, ebx
mov dword [ebp + 0x60], edi
mov edi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x4c]
inc eax
add ecx, 2
mov dword [ebp + 0x54], eax
cmp eax, dword [ebp + 0x20]
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x4c], ecx
jb 0x4a2c86
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4a2c29
push esi
call fcn.00566e0e
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
mov esi, dword [ebp + 0x68]
pop ecx
pop ecx
jmp 0x4a2d54
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x64], eax
cmp eax, 0x78
jb 0x4a2ef1
mov edi, dword [ebp + 0x58]
push 9
movzx ecx, byte [edi + 0x20]
movzx eax, byte [edi + 0x21]
mov edx, dword [edi + 0x18]
shl ecx, 8
or ecx, eax
bswap edx
mov dword [ebp + 0x2c], ecx
cmp ecx, 0x200
mov dword [ebp + 0x60], edx
pop ecx
je 0x4a2ee1
xor eax, eax
cmp ecx, 0x10
je 0x4a2ef3
inc ecx
inc eax
shl eax, cl
mov dword [ebp + 0x24], ecx
cmp eax, dword [ebp + 0x2c]
jne 0x4a2ece
mov eax, dword [edi + 0x24]
shr dword [ebp + 0x64], cl
bswap eax
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x64], eax
jae 0x4a2efb
xor eax, eax
lea edi, [eax + 1]
jmp 0x4a2de4
test edx, edx
jne 0x4a2f0f
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
pop ecx
jmp 0x4a3238
test eax, eax
jne 0x4a2f5d
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
pop ecx
xor eax, eax
lea edi, [eax + 1]
mov ebx, edi
push fcn.0045e8e4
push 2
push 0xc
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 2
push eax
call fcn.00566ecb
push dword [ebp + 0xc]
call fcn.00566e0e
push dword [ebp - 0x18]
call fcn.00566e0e
push dword [ebp - 0x30]
call fcn.00566e0e
add esp, 0xc
mov eax, ebx
jmp 0x4a3272
push eax
lea ecx, [ebp + 0x2c]
call fcn.00406f89
push dword [ebp + 0x4c]
mov esi, dword [ebp + 0x2c]
push ebx
push esi
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0x64], ebx
add esp, 0xc
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp + 0x60]
mov byte [ebp - 4], 8
cmp eax, dword [ebp + 0x4c]
jae 0x4a3223
cmp byte [esi + eax], 0
jne 0x4a3223
mov ecx, dword [ebp + 0x24]
mov byte [esi + eax], 1
shl eax, cl
mov dword [ebp + 0x60], eax
add eax, edi
push ecx
push eax
lea ecx, [ebp + 0x18]
call fcn.004a3406
test al, al
je 0x4a3223
cmp byte [ebp + 0x1c], 0xff
jne 0x4a3223
cmp dword [ebp + 0x20], 0
mov dword [ebp + 0x30], ebx
jbe 0x4a31ba
mov ecx, dword [ebp + 0x24]
xor eax, eax
inc eax
mov dword [ebp + 0x34], ebx
shl eax, cl
mov edx, ebx
mov dword [ebp + 0x40], eax
mov ecx, edi
sub ecx, edx
add ecx, eax
add ecx, dword [ebp + 0x60]
movzx edx, byte [ecx - 2]
movzx eax, byte [ecx - 1]
shl edx, 8
or edx, eax
movzx eax, byte [ecx - 3]
mov dword [ebp + 0x54], edx
movzx edx, byte [ecx - 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x54]
sub edx, eax
mov dword [ebp + 0x50], edx
cmp edx, 0xe
jb 0x4a3223
lea edx, [edi + eax]
add edx, dword [ebp + 0x60]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 4]
bswap eax
mov dword [ebp + 0x28], eax
mov eax, dword [edx + 8]
bswap eax
mov dword [ebp + 0x54], ecx
test eax, eax
je 0x4a3054
mov eax, dword [ebp + 0x68]
mov byte [eax + 0x45], 1
jmp 0x4a319e
movzx ecx, byte [edx + 0xc]
movzx eax, byte [edx + 0xd]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x54]
add eax, 2
mov dword [ebp + 0x64], ecx
cmp eax, dword [ebp + 0x50]
ja 0x4a3223
lea eax, [ecx*2 + 0xc]
cmp dword [ebp + 0x54], eax
jne 0x4a3223
add edx, 0xe
mov dword [ebp + 0x38], edx
push 0xfffffffffffffff2
pop eax
lea edx, [edx + ecx*2]
add ecx, ecx
sub eax, ecx
mov dword [ebp + 0x54], edx
mov ecx, dword [ebp + 0x50]
add ecx, eax
mov dword [ebp + 0x50], ecx
cmp ecx, 4
jb 0x4a3223
mov eax, dword [edx]
mov ecx, dword [ebp + 0x78]
bswap eax
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x68]
test ecx, ecx
je 0x4a30e4
test dword [eax + 0x1c], 0xfff
jne 0x4a30e4
mov eax, dword [ecx]
lea edx, [ebp + 0x44]
push ebx
push edx
xorps xmm0, xmm0
push ecx
movlpd qword [ebp + 0x44], xmm0
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x4a31e3
mov eax, dword [ebp + 0x68]
mov edi, dword [ebp + 0x58]
cmp dword [eax + 0x1c], 0x80000000
jae 0x4a3223
lea ecx, [eax + 0x18]
call fcn.004a05e6
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x48], eax
lea edi, [eax + 0x28]
mov dword [eax], edx
mov edx, dword [ebp + 0x64]
push edi
call fcn.004a26fd
mov eax, dword [ebp + 0x3c]
cmp eax, 0x20
jne 0x4a3149
cmp dword [ebp + 0x50], 0x58
jne 0x4a3203
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + 4]
bswap eax
test eax, eax
jne 0x4a3203
mov edi, dword [ebp + 0x48]
lea eax, [ecx + 8]
push eax
lea ecx, [edi + 0x10]
call fcn.004a33b8
xor eax, eax
inc eax
mov byte [edi + 4], al
jmp 0x4a319b
push 0x10
pop edi
cmp eax, edi
je 0x4a3159
mov eax, dword [ebp + 0x68]
mov byte [eax + 0x45], 1
jmp 0x4a319b
mov edx, dword [ebp + 0x50]
cmp edx, edi
jb 0x4a3203
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + 4]
bswap eax
test eax, eax
jne 0x4a3203
mov eax, dword [ecx + 8]
bswap eax
test eax, eax
jne 0x4a3203
mov eax, dword [ecx + 0xc]
sub edx, edi
bswap eax
add ecx, edi
cmp edx, eax
jb 0x4a3203
push eax
push ecx
mov ecx, dword [ebp + 0x48]
lea ecx, [ecx + 8]
call fcn.0040c0e5
mov edi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
inc eax
add edx, 2
mov dword [ebp + 0x30], eax
cmp eax, dword [ebp + 0x20]
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x34], edx
jb 0x4a2feb
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4a2f91
push ebx
call fcn.00566e0e
push esi
call fcn.00566e0e
push edi
mov byte [ebp - 4], 3
call fcn.00566e0e
mov esi, dword [ebp + 0x68]
add esp, 0xc
jmp 0x4a3238
push ebx
call fcn.00566e0e
push esi
call fcn.00566e0e
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.00566e0e
add esp, 0xc
jmp 0x4a2f23
push ebx
call fcn.00566e0e
push esi
call fcn.00566e0e
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.00566e0e
add esp, 0xc
jmp 0x4a2f1e
push ebx
call fcn.00566e0e
push esi
call fcn.00566e0e
push edi
jmp 0x4a3212
xor eax, eax
inc eax
mov byte [esi + 0x44], al
push dword [ebp + 0x78]
lea eax, [ebp - 0x54]
mov ecx, esi
push dword [ebp + 0x74]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004a2001
mov edi, eax
test edi, edi
jne 0x4a2f23
mov eax, dword [esi + 0x3c]
xor edx, edx
mov ecx, dword [esi + 0x38]
call fcn.00567120
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
jmp 0x4a2f25
xor eax, eax
inc eax
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
add ebp, 0x6c
leave
ret 8