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

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x556eec
test dword [0x7eda90], 0xffffffff
jne 0x557944
call fcn.006a6b5c
jmp fcn.00556ec4
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.00696350
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x556f2b
test al, 2
jne 0x556f2b
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x556f2b
cmp eax, 0xffffffd8
je 0x556f2b
cmp eax, 0xffffffd9
je 0x556f2b
cmp eax, 0xffffffe0
je 0x556f2b
call fcn.00416f10
or byte [ebx + 0xb4], 0x40
mov eax, 1
mov word [ebx + 0x3d], ax
mov edx, dword [0x6d1394]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebp, [esp + 0x34]
push ebp
push 0x55839c
mov ecx, dword [ebx + 0x39]
call fcn.004efaec
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557015
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557015
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x556f9c
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x5576c1
cmp eax, 0x13
je 0x5576c1
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557088
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x556ff8
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x556ff8
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x556ff8
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x556ff8
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x556ff8
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x55700c
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5576af
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x556fb2
jmp 0x557088
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557088
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x55706d
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x55706d
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x55706d
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x55706d
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x55706d
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x557081
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55792f
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557027
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x557918
shl ecx, 2
call fcn.004dbcd8
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dbcd8
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x5570e4
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
cmp dword [eax + edx], 0
je 0x5570e4
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x557748
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557101
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e00
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e7c
jmp 0x55710b
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a6dd4
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a6d7c
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a6d50
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x557155
mov eax, dword [ebx + 0x31]
jmp 0x5571c3
test al, 1
jne 0x557150
test al, 4
jne 0x557150
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x557793
cmp dword [ebx + 0xa7], 0
je 0x557188
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x5571a9
test ecx, ecx
jne 0x55777b
mov ecx, 0x4a
call fcn.004dbcd8
test eax, eax
je 0x5571a2
push ebx
push 0
mov ecx, eax
call fcn.0051db54
jmp 0x5571a4
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x5571c3
mov ecx, dword [ebx + 0x31]
mov edx, dword [ecx]
movzx eax, byte [ebx + 9]
and eax, 8
shr eax, 3
push eax
push ebx
call dword [edx + 0xb0]
mov dword [ebx + 0x31], eax
test eax, eax
je 0x5578f4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x5578d5
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x557882
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557262
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557262
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557220
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x5577b0
cmp eax, 0x13
je 0x5577b0
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x5572a2
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x557259
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557259
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55779e
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557232
jmp 0x5572a2
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x5572a2
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x55729b
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x55729b
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557804
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557274
movzx eax, byte [ebx + 9]
test al, 8
jne 0x5574d7
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x5574d7
xor edx, edx
call fcn.004f69dc
mov ebp, eax
test ebp, ebp
je 0x5574d7
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x5573bd
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x5573bd
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x55731c
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x55781f
push 1
push edx
call fcn.0056479c
mov ecx, dword [ebx + 0x8f]
call fcn.0056e878
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x5574d7
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x5574d7
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557350
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x5573b0
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x557373
push ebx
mov ecx, eax
call fcn.0056492c
jmp 0x557375
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.0056479c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056e878
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x5573b1
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x55734a
jmp 0x557816
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557436
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x5573df
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x55784c
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x5573ee
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x5574d7
cmp dword [edx + esi*4 - 4], 0
je 0x5574d7
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x557855
push 1
push dword [edx + esi*4 - 4]
call fcn.0056479c
mov ecx, dword [ebx + 0x8f]
call fcn.0056e878
mov dword [ebx + 0x93], eax
jmp 0x5574d7
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x5574d7
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x5574d7
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x55746a
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x5574ca
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x55748d
push ebx
mov ecx, eax
call fcn.0056492c
jmp 0x55748f
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.0056479c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056e878
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x5574cb
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557464
jmp 0x557816
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a6d7c
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a6d50
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f7a0c
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x55757c
xor edx, edx
jmp 0x5575b6
call fcn.0053e764
mov dword [esp + 0x30], eax
lea esi, [esp + 0x3c]
mov eax, dword [ebx + 0x29]
movzx ebp, word [eax + 0x18]
lea edx, [ebp*8]
push dword [edx + ebp*4 + 0x700808]
push esi
lea ecx, [esp + 0x38]
call fcn.0053f6c0
mov ecx, dword [esp + 0x30]
call fcn.0053e75c
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x557638
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x557638
test al, 1
jne 0x557638
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x5575df.38
mov eax, dword [eax*4 + 0x6d1300]
jmp eax
mov ecx, 1
jmp 0x5575ff
mov ecx, 2
jmp 0x5575ff
mov ecx, 4
jmp 0x5575ff
mov ecx, 8
jmp 0x5575ff
xor ecx, ecx
push ebx
call fcn.00421070
test eax, eax
jne 0x557638
lea ecx, [esp]
call fcn.005242b4
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.0052376c
and byte [ebx + 0xb4], 0xbf
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
mov ecx, dword [ebx + 0x2d]
call fcn.004db418
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x557670
lea ebp, [ebx + 0x2d]
movzx esi, word [ebx + 0x1f]
lea eax, [esi*8]
mov ecx, ebp
mov edx, dword [eax + esi*4 + 0x700808]
call fcn.004f5acc
jmp 0x55769f
call fcn.0053e764
mov dword [esp], eax
lea ebp, [ebx + 0x2d]
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
push 1
push ebx
push ebx
push edx
push ebp
lea ecx, [esp + 0x14]
call fcn.0053f4bc
mov ecx, dword [esp]
call fcn.0053e75c
cmp dword [ebx + 0x2d], 0
je 0x557655
and byte [ebx + 0xb4], 0xbf
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x55700c
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x556f9c
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x55771d
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x55771d
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x55771d
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x55771d
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x55771d
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x55772d
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557739
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5576d7
jmp 0x556f9c
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x55772d
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x5570e4
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
mov ecx, dword [eax + edx]
call fcn.00416ee0
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00502a4c
jmp 0x5570e4
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.004349e0
mov dword [ebx + 0x31], eax
jmp 0x5571c3
mov ecx, dword [ebx + 0xa7]
jmp 0x557180
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557259
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557220
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x5577e9
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x5577e9
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5577f5
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5577c6
jmp 0x557220
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x5577e9
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x55729b
mov edi, dword [esp + 0x2c]
jmp 0x5574d7
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x557839
push ebx
mov ecx, eax
call fcn.0056492c
mov ecx, eax
jmp 0x55783b
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x557303
movsx eax, word [edx + 0x59]
jmp 0x5573e4
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x55786f
push ebx
mov ecx, eax
call fcn.0056492c
mov ecx, eax
jmp 0x557871
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x557415
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x5571e7
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x5578cb
push 8
lea ecx, [esp + 0x24]
call fcn.0050a9a0
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.005065f0
push eax
mov ecx, ebp
call fcn.004f7850
lea ecx, [esp + 0x20]
call fcn.0050aa58
jmp 0x5571e7
cmp eax, 0x13
je 0x557899
jmp 0x5571e7
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e3544]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f75a0
jmp 0x5571db
mov ecx, 0x4a
call fcn.004dbcd8
test eax, eax
je 0x55790e
push ebx
push 0
mov ecx, eax
call fcn.0051db54
jmp 0x557910
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x5571cb
push ebx
push 0x5583b8
mov ecx, dword [ebx + 0x39]
call fcn.004efaec
movsx ecx, word [ebx + 0x3d]
jmp 0x55709a
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557081
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.00696350
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x557983
test al, 2
jne 0x557983
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x557983
cmp eax, 0xffffffd8
je 0x557983
cmp eax, 0xffffffd9
je 0x557983
cmp eax, 0xffffffe0
je 0x557983
call fcn.00416f10
or byte [ebx + 0xb4], 0x40
mov eax, 1
mov word [ebx + 0x3d], ax
mov edx, dword [0x6d1434]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebp, [esp + 0x34]
push ebp
push 0x55839c
mov ecx, dword [ebx + 0x39]
call fcn.004efaec
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557a6d
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557a6d
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x5579f4
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x55811b
cmp eax, 0x13
je 0x55811b
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557ae0
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x557a50
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x557a50
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x557a50
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x557a50
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x557a50
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x557a64
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558109
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557a0a
jmp 0x557ae0
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557ae0
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x557ac5
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x557ac5
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x557ac5
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x557ac5
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x557ac5
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x557ad9
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558389
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557a7f
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x558372
shl ecx, 2
call fcn.004dbcd8
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dbcd8
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557b3c
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
cmp dword [eax + edx], 0
je 0x557b3c
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x5581a2
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557b59
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e00
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e7c
jmp 0x557b63
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a6dd4
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a6d7c
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a6d50
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x557bad
mov eax, dword [ebx + 0x31]
jmp 0x557c1b
test al, 1
jne 0x557ba8
test al, 4
jne 0x557ba8
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x5581ed
cmp dword [ebx + 0xa7], 0
je 0x557be0
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x557c01
test ecx, ecx
jne 0x5581d5
mov ecx, 0x4a
call fcn.004dbcd8
test eax, eax
je 0x557bfa
push ebx
push 0
mov ecx, eax
call fcn.0051db54
jmp 0x557bfc
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557c1b
mov ecx, dword [ebx + 0x31]
movzx eax, byte [ebx + 9]
and eax, 8
shr eax, 3
mov edx, dword [ecx]
push eax
push ebx
call dword [edx + 0xb0]
mov dword [ebx + 0x31], eax
test eax, eax
je 0x55834e
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x55832f
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x5582dc
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557cba
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557cba
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557c78
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x55820a
cmp eax, 0x13
je 0x55820a
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557cfa
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x557cb1
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557cb1
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5581f8
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557c8a
jmp 0x557cfa
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557cfa
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x557cf3
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557cf3
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55825e
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557ccc
movzx eax, byte [ebx + 9]
test al, 8
jne 0x557f31
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557f31
xor edx, edx
call fcn.004f69dc
mov ebp, eax
test ebp, ebp
je 0x557f31
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557e16
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557e16
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x557d74
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x558279
push 1
push edx
call fcn.0056479c
mov ecx, dword [ebx + 0x8f]
call fcn.0056e878
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557f31
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x557d90
mov ecx, edx
test ecx, ecx
jle 0x557f31
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557da9
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x557e09
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x557dcc
push ebx
mov ecx, eax
call fcn.0056492c
jmp 0x557dce
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.0056479c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056e878
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x557e0a
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557da3
jmp 0x558270
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557e8f
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x557e38
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x5582a6
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x557e47
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x557f31
cmp dword [edx + esi*4 - 4], 0
je 0x557f31
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x5582af
push 1
push dword [edx + esi*4 - 4]
call fcn.0056479c
mov ecx, dword [ebx + 0x8f]
call fcn.0056e878
mov dword [ebx + 0x93], eax
jmp 0x557f31
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557f31
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x557eab
mov ecx, edx
test ecx, ecx
jle 0x557f31
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557ec4
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x557f24
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x557ee7
push ebx
mov ecx, eax
call fcn.0056492c
jmp 0x557ee9
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.0056479c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056e878
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x557f25
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557ebe
jmp 0x558270
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a6d7c
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a6d50
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f7a0c
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f7a0c
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x557fd6
xor edx, edx
jmp 0x558010
call fcn.0053e764
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x29]
movzx ebp, word [eax + 0x18]
lea edx, [ebp*8]
lea esi, [esp + 0x3c]
push dword [edx + ebp*4 + 0x700808]
push esi
lea ecx, [esp + 0x38]
call fcn.0053f6c0
mov ecx, dword [esp + 0x30]
call fcn.0053e75c
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x558092
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x558092
test al, 1
jne 0x558092
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x558039.38
mov eax, dword [eax*4 + 0x6d13a0]
jmp eax
mov ecx, 1
jmp 0x558059
mov ecx, 2
jmp 0x558059
mov ecx, 4
jmp 0x558059
mov ecx, 8
jmp 0x558059
xor ecx, ecx
push ebx
call fcn.00421070
test eax, eax
jne 0x558092
lea ecx, [esp]
call fcn.005242b4
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.0052376c
and byte [ebx + 0xb4], 0xbf
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
mov ecx, dword [ebx + 0x2d]
call fcn.004db418
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x5580ca
lea ebp, [ebx + 0x2d]
movzx esi, word [ebx + 0x1f]
lea eax, [esi*8]
mov ecx, ebp
mov edx, dword [eax + esi*4 + 0x700808]
call fcn.004f5acc
jmp 0x5580f9
call fcn.0053e764
mov dword [esp], eax
lea ebp, [ebx + 0x2d]
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
push 1
push ebx
push ebx
push edx
push ebp
lea ecx, [esp + 0x14]
call fcn.0053f4bc
mov ecx, dword [esp]
call fcn.0053e75c
cmp dword [ebx + 0x2d], 0
je 0x5580af
and byte [ebx + 0xb4], 0xbf
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557a64
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x5579f4
movzx eax, word [ebp]
movzx edx, word [0x7bc08c]
cmp eax, edx
je 0x558177
movzx edx, word [0x7bc09c]
cmp eax, edx
je 0x558177
movzx edx, word [0x7bc0a0]
cmp eax, edx
je 0x558177
movzx edx, word [0x7bc090]
cmp eax, edx
je 0x558177
movzx edx, word [0x7bc0a4]
cmp eax, edx
je 0x558177
movzx edx, word [0x7bc0f0]
cmp eax, edx
jne 0x558187
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558193
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x558131
jmp 0x5579f4
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x558187
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x557b3c
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
mov ecx, dword [eax + edx]
call fcn.00416ee0
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00502a4c
jmp 0x557b3c
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.004349e0
mov dword [ebx + 0x31], eax
jmp 0x557c1b
mov ecx, dword [ebx + 0xa7]
jmp 0x557bd8
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557cb1
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x557c78
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x558243
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x558243
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55824f
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x558220
jmp 0x557c78
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x558243
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557cf3
mov edi, dword [esp + 0x2c]
jmp 0x557f31
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x558293
push ebx
mov ecx, eax
call fcn.0056492c
mov ecx, eax
jmp 0x558295
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x557d5b
movsx eax, word [edx + 0x59]
jmp 0x557e3d
mov ecx, 0x4e
call fcn.004dbcd8
test eax, eax
je 0x5582c9
push ebx
mov ecx, eax
call fcn.0056492c
mov ecx, eax
jmp 0x5582cb
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x557e6e
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557c3f
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x558325
push 8
lea ecx, [esp + 0x24]
call fcn.0050a9a0
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.005065f0
push eax
mov ecx, ebp
call fcn.004f7850
lea ecx, [esp + 0x20]
call fcn.0050aa58
jmp 0x557c3f
cmp eax, 0x13
je 0x5582f3
jmp 0x557c3f
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e3544]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f75a0
jmp 0x557c33
mov ecx, 0x4a
call fcn.004dbcd8
test eax, eax
je 0x558368
push ebx
push 0
mov ecx, eax
call fcn.0051db54
jmp 0x55836a
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557c23
push ebx
push 0x5583b8
mov ecx, dword [ebx + 0x39]
call fcn.004efaec
movsx ecx, word [ebx + 0x3d]
jmp 0x557af2
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x557ad9