Function at 0x4a90c0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x10]
xor ecx, ecx
push ebx
push esi
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
xor ebx, ebx
mov esi, dword [eax]
mov eax, 0xa4
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
push edi
xor edi, edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], edx
mov dword [eax + 0x1c], 0xffffffff
test ecx, ecx
je 0x4a91b4
test byte [edx + 0x18], 6
je 0x4a912d
mov dword [esp + 0x28], ebx
jmp 0x4a91b4
mov eax, dword [esi + 0x14]
xor edi, edi
mov dword [esp + 0x44], eax
test eax, eax
jle 0x4a917a
mov ebx, dword [esi + 0x10]
nop dword [eax]
mov edx, dword [ebx]
mov esi, ecx
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a9265
test ecx, ecx
jne 0x4a9277
mov edx, dword [esp + 0x34]
mov eax, edi
add eax, eax
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
xor ebx, ebx
cmp edi, eax
jne 0x4a91b2
mov edx, str._04d__02d__02d
mov esi, ecx
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a9296
test ecx, ecx
jne 0x4a92ac
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
xor edi, edi
mov esi, dword [ebp + 8]
nop word [eax + eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4a9494
xor edx, edx
lea ebx, [eax + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
cmp dword [eax], edx
jle 0x4a9469
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
test eax, eax
je 0x4a92e1
test dword [eax + 4], 0x800
je 0x4a92e1
mov ebx, dword [eax + 0x1c]
xor esi, esi
mov dword [esp + 0x40], 0
cmp dword [ebx], esi
jle 0x4a92d2
lea edi, [ebx + 4]
push dword [esp + 0x28]
mov edx, dword [ebp + 0xc]
mov ecx, edi
push dword [ebp + 8]
call fcn.004a8f60
add esp, 8
test eax, eax
je 0x4a92b2
mov eax, dword [esp + 0x24]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], 2
mov word [eax + 0x20], si
mov eax, 1
mov dword [esp + 0x40], eax
jmp 0x4a92b6
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a927d
inc edx
jmp 0x4a9146
mov eax, dword [esp + 0x44]
inc edi
mov ecx, dword [esp + 0x28]
add ebx, 0x10
cmp edi, eax
jge 0x4a9178
jmp 0x4a9140
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a91b2
inc edx
jmp 0x4a9187
mov eax, dword [esp + 0x40]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x4a9227
mov edx, dword [esp + 0x2c]
test eax, eax
jne 0x4a9512
mov ecx, dword [esp + 0x44]
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
test esi, esi
je 0x4a944a
cmp dword [esp + 0x28], 0
je 0x4a92f5
mov eax, dword [esp + 0x30]
cmp dword [ecx + 0x48], eax
jne 0x4a944a
test esi, esi
je 0x4a9362
mov edi, dword [ebx + 0xc]
mov edx, edi
test edi, edi
jne 0x4a9304
mov edx, dword [ecx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a9343
test ecx, ecx
jne 0x4a9359
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xcc], 2
jb 0x4a9362
test edi, edi
je 0x4a9362
mov eax, dword [eax + 0x114]
test eax, eax
je 0x4a9362
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x4a935c
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4a9336
jmp 0x4a9362
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a9446
inc edx
jmp 0x4a9306
mov dword [eax], 0
mov ecx, dword [esp + 0x1c]
mov eax, ecx
inc ecx
mov dword [esp + 0x1c], ecx
test eax, eax
jne 0x4a9375
mov dword [esp + 0x20], ebx
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.00479ea0
mov cl, al
xor ebx, ebx
mov eax, dword [esp + 0x44]
mov byte [esp + 0x13], cl
mov edi, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x4a9442
nop
cmp byte [edi + 0xf], cl
jne 0x4a9436
mov edx, dword [edi]
sub esi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x4a9416
test eax, eax
jne 0x4a9428
cmp dword [esp + 0x14], 1
jne 0x4a93e1
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 0xc]
test byte [eax + 0x24], 4
jne 0x4a942e
mov ecx, dword [eax + 0x34]
mov edx, esi
call fcn.004a8ef0
test eax, eax
jne 0x4a942e
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
inc edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], edi
movsx eax, word [eax + 0x28]
cmp ebx, eax
jne 0x4a94fb
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov word [ecx + 0x20], ax
jmp 0x4a944e
movzx ecx, byte [ecx + 0x660e20]
movzx eax, byte [eax + 0x660e20]
sub eax, ecx
jne 0x4a942b
inc edx
jmp 0x4a93b0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x13]
inc ebx
add edi, 0x14
cmp ebx, eax
jl 0x4a93a0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
inc edx
mov esi, dword [ebp + 8]
add ebx, 0x48
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
cmp edx, dword [eax]
jl 0x4a91f0
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4a9494
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x2c], eax
test byte [ebx + 0x24], 8
je 0x4a948d
or dword [ecx + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x1c]
jne 0x4a97c0
test esi, esi
je 0x4a97c0
test eax, eax
jne 0x4a97c0
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
cmp dword [eax + 0x78], ebx
je 0x4a9568
movzx edi, byte [eax + 0x94]
cmp edi, 0x7e
je 0x4a9533
mov edx, 0x6691cc
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a951b
test ecx, ecx
jne 0x4a952d
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], 1
jmp 0x4a955d
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x2c]
movsx eax, bx
mov ebx, dword [esp + 0x24]
mov word [ecx + 0x20], ax
jmp 0x4a944e
mov ebx, dword [esp + 0x24]
jmp 0x4a944a
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a9530
inc edx
jmp 0x4a94e0
mov esi, dword [ebp + 8]
cmp edi, 0x7d
je 0x4a9568
mov edx, 0x6691d0
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a9627
test ecx, ecx
jne 0x4a963d
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x78]
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 0x10]
test dword [eax + 0x18], 0x200
je 0x4a95b0
mov edi, dword [eax + 8]
test edi, edi
je 0x4a95b0
mov esi, dword [ebp + 8]
mov edx, str._02d
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4a9643
test ecx, ecx
jne 0x4a9659
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2c], ebx
mov dword [eax + 0x1c], 2
test ebx, ebx
je 0x4a97b4
mov ecx, dword [ebp + 0xc]
call fcn.00479ea0
mov ecx, dword [ebx + 0x48]
xor esi, esi
mov ebx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x13], al
mov dword [esp + 0x1c], 1
movsx edi, word [ecx + 0x2a]
mov dword [esp + 0x44], edi
test edi, edi
jle 0x4a9688
nop dword [eax]
cmp byte [ebx + 0xf], al
jne 0x4a967c
mov edi, dword [ebp + 0xc]
mov edx, dword [ebx]
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x4a965f
test ecx, ecx
jne 0x4a9671
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
movsx eax, word [ebx + 0x28]
cmp esi, eax
mov eax, 0xffffffff
cmove esi, eax
jmp 0x4a968c
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a9568
inc edx
jmp 0x4a9540
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a95b0
inc edx
jmp 0x4a9585
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4a9674
inc edx
jmp 0x4a9600
mov edi, dword [esp + 0x44]
mov al, byte [esp + 0x13]
inc esi
add ebx, 0x14
cmp esi, edi
jl 0x4a95f0
mov ebx, dword [esp + 0x2c]
cmp esi, edi
jl 0x4a96b3
mov ecx, dword [ebp + 0xc]
call fcn.004adc40
test eax, eax
je 0x4a96ab
test dword [ebx + 0x24], 0x200
mov eax, 0xffffffff
cmove esi, eax
cmp esi, edi
jge 0x4a97b4
mov edx, dword [ebp + 0x14]
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
mov eax, dword [edx + 0x1c]
cmp eax, 2
jne 0x4a971f
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xcc], 2
jb 0x4a96e8
mov word [edx + 0x20], si
mov dword [edx + 0x2c], ebx
mov dword [esp + 0x38], 0xa4
jmp 0x4a97b8
mov edx, esi
mov ecx, ebx
call fcn.004b9500
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov ebx, dword [esp + 0x20]
movsx ecx, ax
mov eax, dword [esi + 8]
mov dword [esp + 0x38], 0xad
add ecx, dword [eax + 0x18]
or dword [edx + 4], 0x400000
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x1c], ecx
jmp 0x4a97c3
test esi, esi
jns 0x4a973b
mov byte [edx + 1], 0x44
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
mov dword [esp + 0x38], 0x4d
jmp 0x4a97b8
test eax, eax
jne 0x4a9786
cmp esi, 0x20
jl 0x4a9762
mov ecx, dword [esp + 0x18]
or eax, 0xffffffff
mov dword [esp + 0x38], 0x4d
or dword [ecx + 0x8c], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x4a97b8
mov ecx, esi
mov dword [esp + 0x38], 0x4d
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
or dword [ecx + 0x8c], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x4a97b8
cmp esi, 0x20
jl 0x4a9790
or eax, 0xffffffff
jmp 0x4a9799
mov eax, 1
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], 0x4d
or dword [ecx + 0x90], eax
mov dword [edx + 0x2c], ebx
mov word [edx + 0x20], si
jmp 0x4a97b8
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov esi, dword [ebp + 0x10]
test edi, edi
jne 0x4a9805
cmp eax, 1
jne 0x4a9805
test ebx, ebx
je 0x4a9805
test byte [esi + 0x18], 0x28
jne 0x4a9805
mov ecx, dword [ebp + 0xc]
call fcn.004adc40
test eax, eax
je 0x4a9805
mov eax, dword [ebx + 0x10]
test dword [eax + 0x24], 0x200
jne 0x4a9805
mov eax, dword [ebp + 0x14]
mov edi, 1
or ecx, 0xffffffff
mov dword [esp + 0x14], edi
mov word [eax + 0x20], cx
mov byte [eax + 1], 0x44
mov ebx, dword [ebp + 0x10]
test byte [ebx + 0x18], 0x80
je 0x4a9890
test edi, edi
jne 0x4a9894
mov esi, dword [ebp + 8]
test esi, esi
jne 0x4a9875
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
test ecx, ecx
jle 0x4a98d8
lea esi, [eax + 0x10]
test byte [esi], 3
mov ebx, dword [esi - 8]
jne 0x4a9863
mov eax, dword [ebp + 0xc]
test ebx, ebx
jne 0x4a984a
neg eax
sbb eax, eax
jmp 0x4a985b
test eax, eax
je 0x4a9863
mov edx, eax
mov ecx, ebx
call fcn.00479de0
mov ecx, dword [esp + 0x4c]
test eax, eax
je 0x4a98de
inc edi
add esi, 0x14
cmp edi, ecx
jl 0x4a9835
mov edi, dword [esp + 0x14]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x48]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x4a99ce
mov ebx, dword [esp + 0x20]
jmp 0x4a91c0
test edi, edi
je 0x4a9872
cmp edi, 1
je 0x4a9acf
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x28]
test edi, edi
mov ecx, 0x669270
mov eax, 0x669260
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
push ecx
test edx, edx
je 0x4a9a95
push esi
push edx
push eax
push 0x669288
push dword [esp + 0x2c]
call fcn.00479ca0
add esp, 0x18
jmp 0x4a9ac0
mov edi, dword [esp + 0x14]
jmp 0x4a9875
mov esi, dword [ebp + 0x10]
lea eax, [edi + edi*4]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
mov eax, dword [edx + eax*4 + 4]
test cl, 1
jne 0x4a9917
test byte [eax + 4], 0x10
je 0x4a9917
push ebx
push 0x6691e0
push dword [esp + 0x20]
call fcn.00479ca0
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x4a9938
test ecx, 0x4000
je 0x4a9930
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
je 0x4a9938
push ebx
push 0x669200
jmp 0x4a98ff
mov cl, byte [eax]
cmp cl, 0xad
jne 0x4a9942
mov cl, byte [eax + 2]
cmp cl, 0xae
jne 0x4a994c
mov eax, dword [eax + 0x14]
jmp 0x4a9957
cmp cl, 0x88
jne 0x4a997b
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x4a997b
push 0x669228
push dword [esp + 0x1c]
call fcn.00479ca0
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x48]
mov ebx, dword [ebp + 0x14]
mov esi, dword [esp + 0x18]
push ecx
push 0x65ef9c
push ebx
push edi
mov ecx, esi
call fcn.004a8dc0
add esp, 0x10
cmp byte [esi + 0xcc], 2
jb 0x4a9ba5
mov eax, dword [esi + 0x114]
test eax, eax
je 0x4a9ba5
cmp dword [eax], ebx
je 0x4a99c3
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4a99b3
jmp 0x4a9ba5
mov dword [eax], 0
jmp 0x4a9ba5
test esi, esi
jne 0x4a98a0
mov esi, dword [ebp + 0x14]
mov ebx, dword [esi + 4]
test bl, 0x40
je 0x4a9a30
mov eax, dword [esp + 0x34]
cmp byte [eax + 0xa5], 0
jne 0x4a9a6d
mov ecx, dword [esp + 0x3c]
test dword [ecx + 0x18], 0x10000
je 0x4a9a60
mov ecx, dword [eax + 0x20]
xor edx, edx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x54], eax
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x4a9a26
test edx, edx
jne 0x4a9a26
mov eax, ecx
and eax, 0x40000000
or eax, edx
jne 0x4a9a6d
and ecx, 0x20000000
or ecx, edx
jne 0x4a9a6d
test ebx, 0x4000000
jne 0x4a989d
mov ecx, dword [esi + 8]
call fcn.004ad680
test eax, eax
je 0x4a989d
or ebx, eax
mov byte [esi], 0xa7
mov dword [esi + 4], ebx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x20]
and eax, 0x40000000
or eax, 0
je 0x4a9a30
push dword [ebp + 0xc]
push 0x66923c
push 0x1c
call fcn.00479000
add esp, 0xc
mov byte [esi], 0x73
mov dword [esi + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x4a9aae
push esi
push eax
push 0x669298
push dword [esp + 0x28]
call fcn.00479ca0
add esp, 0x14
jmp 0x4a9ac0
push eax
push 0x6692a4
push dword [esp + 0x24]
call fcn.00479ca0
add esp, 0x10
mov eax, dword [esp + 0x18]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x3c]
inc dword [eax + 0x14]
mov ebx, dword [ebp + 0x14]
movzx eax, word [ebx + 0x20]
test ax, ax
js 0x4a9b5d
cmp dword [esp + 0x20], 0
je 0x4a9b5d
mov edx, dword [ebx + 0x2c]
movsx esi, ax
test byte [edx + 0x24], 0x60
je 0x4a9b33
mov eax, dword [edx + 4]
lea ecx, [esi + esi*4]
test byte [eax + ecx*4 + 0x10], 0x60
je 0x4a9b33
movzx eax, word [edx + 0x2a]
cmp ax, 0x40
jl 0x4a9b15
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x4a9b53
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x4a9b53
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
mov eax, dword [esp + 0x20]
or dword [eax + 0x38], ecx
or dword [eax + 0x3c], edx
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x34]
test edx, edx
je 0x4a9b6f
mov ecx, esi
call fcn.004ac4d0
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
test edx, edx
je 0x4a9b84
mov ecx, esi
call fcn.004ac4d0
mov eax, dword [esp + 0x38]
or dword [ebx + 4], 0x800000
mov dword [ebx + 0x10], 0
mov byte [ebx], al
cmp edi, 1
jne 0x4a990b
mov esi, dword [esp + 0x18]
test dword [ebx + 4], 0x400000
jne 0x4a9bc4
mov eax, dword [ebp + 0x10]
mov edx, ebx
mov ecx, esi
push dword [eax + 4]
push dword [esp + 0x34]
call fcn.004b8170
add esp, 8
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x10]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x4a9bdc
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x4a9bd2
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret