Function at 0x4a286d
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
sub esp, 0x68
mov eax, 0x572f8d
call fcn.00566548
sub esp, 0x660
push esi
mov esi, ecx
mov dword [ebp + 0x68], esi
call fcn.004a083c
mov ecx, dword [ebp + 0x74]
lea edx, [ebp - 0x66c]
push 0x600
call fcn.00414ae5
test eax, eax
jne 0x4a3302
push ebx
xor ebx, ebx
mov eax, ebx
push edi
xor edx, edx
inc edx
cmp byte [ebp + eax - 0x66c], bl
jne 0x4a32fd
inc eax
cmp eax, 0x400
jb 0x4a28ad
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 0x4a2a24
cmp al, 0x44
jne 0x4a2a24
cmp byte [ebp - 0x1f0], 0x48
jne 0x4a32fd
cmp byte [ebp - 0x1ef], 0x2b
jne 0x4a32fd
mov edx, dword [ebp - 0x258]
bswap edx
cmp edx, 0x200
je 0x4a292d
cmp edi, 0x1f
je 0x4a32fd
xor eax, eax
inc edi
inc eax
mov ecx, edi
shl eax, cl
cmp eax, edx
jne 0x4a2918
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.00566830
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.00566830
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.00566830
mov ecx, dword [ebp + 0x4c]
add eax, ecx
adc edx, dword [ebp + 0x64]
cmp edi, edx
ja 0x4a29e1
jb 0x4a29db
cmp dword [ebp + 0x54], eax
jae 0x4a29e1
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 0x4a3300
push 0x600
lea edx, [ebp - 0x66c]
mov ecx, edi
call fcn.00414ae5
test eax, eax
jne 0x4a3300
mov eax, dword [ebp - 0x26b]
xor edx, edx
mov cl, byte [ebp - 0x26c]
inc edx
push 9
pop edi
cmp cl, 0x48
jne 0x4a32fd
cmp al, 0x2b
je 0x4a2a39
cmp al, 0x58
jne 0x4a32fd
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 0x4a32fd
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 0x4a32fd
cmp ecx, 0x40000000
ja 0x4a32fd
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 0x4a3300
mov edx, dword [ebp + 0x78]
test edx, edx
je 0x4a2aec
mov eax, dword [esi + 0x30]
xor ecx, ecx
add eax, dword [esi + 0x34]
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 0x4a3300
mov edx, dword [ebp - 0x244]
mov ecx, edi
bswap edx
cmp edx, 0x200
je 0x4a2b11
cmp ecx, 0x1f
je 0x4a32fd
xor eax, eax
inc ecx
inc eax
shl eax, cl
cmp eax, edx
jne 0x4a2afe
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.00402790
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.004a3446
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x24]
call fcn.004a3446
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp]
call fcn.004a3446
push fcn.0045e9ef
push 0x4a0360
push 2
push 0xc
lea eax, [ebp - 0x54]
push eax
call fcn.00566567
push dword [esi + 0x38]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.004a2072
test al, al
je 0x4a2de6
cmp dword [ebp - 0x34], 0
je 0x4a2dea
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.004a3602
mov edi, eax
test edi, edi
jne 0x4a2c55
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
cmp eax, 0x78
jb 0x4a2c50
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 0x4a2c3b
xor eax, eax
cmp ecx, 0x10
je 0x4a2c52
inc ecx
inc eax
shl eax, cl
cmp eax, dword [ebp + 0x64]
mov dword [ebp + 0x40], ecx
jne 0x4a2c2d
mov eax, dword [edi + 0x24]
shr dword [ebp + 0x60], cl
bswap eax
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x60], eax
jae 0x4a2c78
xor eax, eax
lea edi, [eax + 1]
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.0056651e
pop ecx
cmp edi, 1
je 0x4a2de6
test edi, edi
je 0x4a2dea
jmp 0x4a2fb5
test edx, edx
jne 0x4a2c8c
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
pop ecx
jmp 0x4a2dea
test eax, eax
jne 0x4a2c9f
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
jmp 0x4a2de5
push eax
lea ecx, [ebp + 0x64]
call fcn.00406fec
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 0x4a2dd1
cmp byte [esi + eax], 0
jne 0x4a2dd1
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.004a3494
test al, al
je 0x4a2dd1
cmp byte [ebp + 0x1c], 0xff
jne 0x4a2dd1
cmp dword [ebp + 0x20], 0
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x54], ebx
jbe 0x4a2f0e
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 0x4a2dd1
lea edx, [edi + eax]
add edx, dword [ebp + 0x50]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl cx, 8
or cx, ax
cmp cx, 0xa
jne 0x4a2dd1
mov al, byte [edx + 2]
test al, al
jne 0x4a2d79
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
jmp 0x4a2d87
cmp al, 0xff
jne 0x4a2ef2
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 0x4a2e8c
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 0x4a2e8c
mov eax, dword [ebp + 0x60]
cmp eax, dword [ebp + 0x48]
je 0x4a2ea5
push esi
call fcn.0056651e
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
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.004a385a
test al, al
je 0x4a2fb0
push edi
lea ecx, [ebp - 0x24]
call fcn.004a2072
test al, al
je 0x4a2fb0
mov edi, dword [esi + 0x38]
lea eax, [ebp - 0x54]
push 8
push eax
lea ecx, [ebp]
call fcn.004a385a
test al, al
je 0x4a32c0
push edi
lea ecx, [ebp]
call fcn.004a2072
test al, al
je 0x4a32c0
mov eax, dword [ebp]
or eax, dword [ebp + 4]
je 0x4a32c6
cmp dword [ebp + 8], 0
je 0x4a32c6
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.004a3602
mov edi, eax
test edi, edi
je 0x4a2f33
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.0056651e
pop ecx
jmp 0x4a2fb5
call fcn.004a06c7
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 0x4a2edc
push eax
push ecx
lea ecx, [ebx + 8]
call fcn.00413a82
add edi, dword [ebp + 0x48]
mov edx, dword [ebp + 0x38]
add edx, 8
mov dword [ebp + 0x38], edx
sub esi, 1
jne 0x4a2ebc
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 0x4a2d1c
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4a2cbf
push esi
call fcn.0056651e
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
mov esi, dword [ebp + 0x68]
pop ecx
pop ecx
jmp 0x4a2dea
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x64], eax
cmp eax, 0x78
jb 0x4a2f87
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 0x4a2f77
xor eax, eax
cmp ecx, 0x10
je 0x4a2f89
inc ecx
inc eax
shl eax, cl
mov dword [ebp + 0x24], ecx
cmp eax, dword [ebp + 0x2c]
jne 0x4a2f64
mov eax, dword [edi + 0x24]
shr dword [ebp + 0x64], cl
bswap eax
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x64], eax
jae 0x4a2f91
xor eax, eax
lea edi, [eax + 1]
jmp 0x4a2e7a
test edx, edx
jne 0x4a2fa5
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
pop ecx
jmp 0x4a32c6
test eax, eax
jne 0x4a2fef
push edi
call fcn.0056651e
pop ecx
xor eax, eax
lea edi, [eax + 1]
mov ebx, edi
push fcn.0045e9ef
push 2
push 0xc
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 2
push eax
call fcn.005665db
push dword [ebp + 0xc]
call fcn.0056651e
push dword [ebp - 0x18]
call fcn.0056651e
push dword [ebp - 0x30]
call fcn.0056651e
add esp, 0xc
mov eax, ebx
jmp 0x4a3300
push eax
lea ecx, [ebp + 0x2c]
call fcn.00406fec
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 0x4a32b1
cmp byte [esi + eax], 0
jne 0x4a32b1
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.004a3494
test al, al
je 0x4a32b1
cmp byte [ebp + 0x1c], 0xff
jne 0x4a32b1
cmp dword [ebp + 0x20], 0
mov dword [ebp + 0x30], ebx
jbe 0x4a324c
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 0x4a32b1
lea edx, [edi + eax]
add edx, dword [ebp + 0x60]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 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 0x4a30e6
mov eax, dword [ebp + 0x68]
mov byte [eax + 0x45], 1
jmp 0x4a3230
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 0x4a32b1
lea eax, [ecx*2 + 0xc]
cmp dword [ebp + 0x54], eax
jne 0x4a32b1
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 0x4a32b1
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 0x4a3176
test dword [eax + 0x1c], 0xfff
jne 0x4a3176
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 0x4a3275
mov eax, dword [ebp + 0x68]
mov edi, dword [ebp + 0x58]
cmp dword [eax + 0x1c], 0x80000000
jae 0x4a32b1
lea ecx, [eax + 0x18]
call fcn.004a0683
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.004a2793
mov eax, dword [ebp + 0x3c]
cmp eax, 0x20
jne 0x4a31db
cmp dword [ebp + 0x50], 0x58
jne 0x4a3295
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + 4]
bswap eax
test eax, eax
jne 0x4a3295
mov edi, dword [ebp + 0x48]
lea eax, [ecx + 8]
push eax
lea ecx, [edi + 0x10]
call fcn.004a3446
xor eax, eax
inc eax
mov byte [edi + 4], al
jmp 0x4a322d
push 0x10
pop edi
cmp eax, edi
je 0x4a31eb
mov eax, dword [ebp + 0x68]
mov byte [eax + 0x45], 1
jmp 0x4a322d
mov edx, dword [ebp + 0x50]
cmp edx, edi
jb 0x4a3295
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + 4]
bswap eax
test eax, eax
jne 0x4a3295
mov eax, dword [ecx + 8]
bswap eax
test eax, eax
jne 0x4a3295
mov eax, dword [ecx + 0xc]
sub edx, edi
bswap eax
add ecx, edi
cmp edx, eax
jb 0x4a3295
push eax
push ecx
mov ecx, dword [ebp + 0x48]
lea ecx, [ecx + 8]
call fcn.0040c141
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 0x4a307d
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4a3023
push ebx
call fcn.0056651e
push esi
call fcn.0056651e
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
mov esi, dword [ebp + 0x68]
add esp, 0xc
jmp 0x4a32c6
push ebx
call fcn.0056651e
push esi
call fcn.0056651e
push dword [ebp + 0x58]
mov byte [ebp - 4], 3
call fcn.0056651e
add esp, 0xc
jmp 0x4a2fb5
push ebx
call fcn.0056651e
push esi
call fcn.0056651e
push dword [ebp + 0x58]
call fcn.0056651e
add esp, 0xc
jmp 0x4a2fb0
push ebx
call fcn.0056651e
push esi
call fcn.0056651e
push edi
jmp 0x4a32a4
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.004a2097
mov edi, eax
test edi, edi
jne 0x4a2fb5
mov eax, dword [esi + 0x3c]
xor edx, edx
mov ecx, dword [esi + 0x38]
call fcn.00566830
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
jmp 0x4a2fb7
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