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

Disassembly:
xor eax, dword [ecx + 0x14e21cf]
add byte [ecx + 0x8b50e7], al
add byte [edi + 0x50], bl
push eax
add esp, 4
or eax, 0x8de3
add eax, 0x4699
pop eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x338], ecx
cmp dword [ebp - 0x338], 0
jne 0x5560be
push esi
push eax
add esp, 4
xor esi, 0x10c54
sub esi, 0x3a7a
or esi, 0x2080
pop esi
push edi
sub edi, 0x11d16
call 0x5560ab
add byte [eax + 0x49], al
dec esi
dec edi
aaa
cmp esi, dword [esi]
xor al, byte [edx - 0x7d]
les eax, [edi + ebx*2]
mov dword [ebp - 0xd0], 0
inc dword [eax]
add byte [eax], al
add cl, ch
xchg ebp, eax
add eax, dword [eax]
invalid
push edi
sub edi, 0x34a2
xor edi, 0x30d
jmp 0x5560d4
jmp 0x5560dd
pop edi
push ebx
push edx
add esp, 4
jmp 0x5560e9
xor ebx, 0x181c7
pop ebx
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 0
jne 0x55614c
push eax
push edi
add esp, 4
and eax, 0x7dfd
jmp 0x55611c
sub eax, 0xce1
sub eax, 0xd930
pop eax
push ecx
and ecx, 0x57f1
xor ecx, 0x10d00
sub ecx, 0x868c
pop ecx
mov dword [ebp - 0xd0], 0
jmp 0x556453
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0xbc], edx
push ebx
jmp 0x556160
pop ebx
push esi
push edx
add esp, 4
and esi, 0x263c
call 0x55617a
add byte [edi + 0x3e], al
cmp dword ss:[0x83414d4d], esi
les eax, [ecx + eax*4]
into
cmc
inc eax
add byte [eax], al
and esi, 0x12d7f
pop esi
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x268], edx
push eax
push edi
add esp, 4
sub eax, 0x20a6
add eax, 0x17784
xor eax, 0x1652e
pop eax
push ebx
push edx
add esp, 4
xor ebx, 0xf596
jmp 0x5561d0
or ebx, 0xfdd3
pop ebx
xor eax, eax
mov word [ebp - 0x4c], ax
xor ecx, ecx
mov word [ebp - 0x24], cx
push ebx
xor ebx, 0x2dd9
sub ebx, 0xca97
pop ebx
push ecx
push edx
add esp, 4
sub ecx, 0x3637
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0x155db
add ecx, 0x8b7f
or ecx, 0x420
pop ecx
mov edx, dword [ebp - 0x268]
mov ax, word [edx]
mov word [ebp - 0x1d8], ax
mov ecx, dword [ebp - 0x268]
add ecx, 2
mov dword [ebp - 0x268], ecx
mov dx, word [ebp - 0x1d8]
mov word [ebp - 0x4c], dx
push esi
or esi, 0xd43f
sub esi, 0xeddd
and esi, 0x450
pop esi
push eax
push esi
add esp, 4
add eax, 0xee2f
jmp 0x556264
and eax, 0x7a28
add eax, 0x145ad
pop eax
mov eax, dword [ebp - 0x26c]
mov cx, word [eax]
mov word [ebp - 0x1da], cx
mov edx, dword [ebp - 0x26c]
add edx, 2
mov dword [ebp - 0x26c], edx
mov ax, word [ebp - 0x1da]
mov word [ebp - 0x24], ax
push edi
push ebx
add esp, 4
and edi, 0x13474
xor edi, 0x3e41
xor edi, 0x12170
pop edi
push ebx
sub ebx, 0x159a5
add ebx, 0x12581
and ebx, 0xb7b0
add ebx, 0x519d
pop ebx
movzx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x5562ea
movzx edx, word [ebp - 0x4c]
movzx eax, word [ebp - 0x24]
sub edx, eax
mov dword [ebp - 0x340], edx
jmp 0x55636d
movzx ecx, word [ebp - 0x4c]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
je 0x5561e3
movzx eax, word [ebp - 0x4c]
xor eax, 0x20
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
je 0x5561e3
push eax
call 0x55631b
add byte [edx + 0x4d], cl
dec ecx
dec esp
xor al, 0x50
add esp, 4
add eax, 0xa3e0
xor eax, 0x12e2f
pop eax
push ecx
and ecx, 0xa5f5
and ecx, 0x15ba0
sub ecx, 0x10df
pop ecx
movzx edx, word [ebp - 0x4c]
movzx eax, word [ebp - 0x24]
cmp edx, eax
jge 0x556357
mov dword [ebp - 0x33c], 0xffffffff
jmp 0x556361
mov dword [ebp - 0x33c], 1
mov ecx, dword [ebp - 0x33c]
mov dword [ebp - 0x340], ecx
cmp dword [ebp - 0x340], 0
jne 0x5563b9
push eax
push esi
add esp, 4
and eax, 0x181ca
pop eax
push ecx
or ecx, 0x578a
or ecx, 0x13f43
pop ecx
push esi
push edi
add esp, 4
add esi, 0x2b80
pop esi
push edi
push edx
add esp, 4
jmp 0x5563a7
pop edi
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xd0], edx
jmp 0x556453
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov dword [ebp - 0xbc], ecx
push edi
xor edi, 0x10e31
jmp 0x5563d4
pop edi
push ebx
push edi
add esp, 4
add ebx, 0x127a9
or ebx, 0x9655
pop ebx
push eax
push ebx
add esp, 4
add eax, 0x8f7b
xor eax, 0xbfda
pop eax
mov edx, dword [ebp - 0xbc]
cmp edx, dword [ebp - 0x270]
je 0x556417
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x30], 0
jne 0x556158
push edi
call 0x556425
add byte [ebp + 0x37], al
cmp bh, byte [ecx]
aas
cmp al, 0x4d
add esp, 4
sub edi, 0x17111
jmp 0x556436
pop edi
push esi
push eax
add esp, 4
and esi, 0x2bf7
add esi, 0x7e49
pop esi
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd0], 0
jne 0x55649d
push esi
push ebx
add esp, 4
xor esi, 0xaa8d
sub esi, 0x410d
and esi, 0x1500f
pop esi
push ebx
push esi
add esp, 4
or ebx, 0x181ca
pop ebx
push eax
add eax, 0x11416
or eax, 0xb1b9
pop eax
mov dword [ebp - 0x1b8], 0
jmp 0x557564
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0xe0], 0
push ecx
push edi
add esp, 4
sub ecx, 0x1664e
or ecx, 0xa3f
xor ecx, 0x1a1f
pop ecx
push eax
and eax, 0x11f57
add eax, 0xe31
xor eax, 0xe2a0
jmp 0x5564e4
pop eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
jne 0x55653a
push ebx
push edi
add esp, 4
and ebx, 0x15bbe
pop ebx
push esi
call 0x556513
add byte [ebp + 0x4d], cl
xor al, 0x42
push eax
xor eax, 0x83474733
les eax, [ecx + eax*4]
test ch, 0x5a
add dword [eax], eax
add esi, 0x11364
and esi, 0x8ec8
pop esi
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x90], ecx
jmp 0x556a14
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x7c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x348], eax
jne 0x55655f
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x90], ecx
jmp 0x556a14
push ebx
call 0x556570
add byte [esp + esi], bh
inc ecx
inc edi
inc esp
dec esi
cmp al, 0x38
cmp eax, 0x5b04c483
push ecx
add ecx, 0x15dc2
pop ecx
push eax
call 0x55658d
add byte [edi], dh
dec eax
inc ecx
aaa
dec ecx
dec edi
inc esi
inc esi
cmp eax, 0x4c48334
pop eax
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x34c], edx
cmp dword [ebp - 0x34c], 0
jne 0x5565f5
push esi
push eax
add esp, 4
and esi, 0x135d7
call 0x5565c9
add byte [edx + 0x48], cl
inc ebx
dec eax
dec edx
cmp al, 0x83
les eax, [esi + ebx*2]
push ecx
sub ecx, 0x177af
jmp 0x5565dd
add ecx, 0x711b
pop ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x90], eax
jmp 0x556a14
push esi
push edx
add esp, 4
call 0x556606
add byte [ecx + 0x45], cl
dec esp
xor eax, 0xc4833339
add al, 0xeb
add eax, 0x454a4a4d
xor al, 0xe8
or byte [eax], al
add byte [eax], al
add byte [ebx], dh
cmp esi, dword ss:[0x83414333]
les eax, [ecx + eax*4]
out 0x8f, al
jo 0x556626
add byte [esi - 0x75], bl
dec ebp
test byte [ebx], al
lea esi, [esp + edi*8 - 0x72760001]
sub al, 0xff
invalid
pop esi
mov ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x34c]
mov dword [ebp - 0xd4], ecx
jne 0x55667b
push edx
or edx, 0x9d35
or edx, 0x98ea
pop edx
push ecx
jmp 0x55664f
or ecx, 0xf537
add ecx, 0x181fc
jmp 0x556661
pop ecx
push edx
sub edx, 0x16d4
pop edx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x90], edx
jmp 0x556a14
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x44c], ecx
push edi
push ecx
add esp, 4
add edi, 0xa9d8
call 0x5566a6
add byte [edx + edi + 0x3e], al
xor al, 0x4e
dec edx
dec eax
add esp, 4
xor edi, 0x163cf
pop edi
push eax
and eax, 0x13b5e
jmp 0x5566be
pop eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x7c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x450], eax
push ecx
add ecx, 0xae7b
pop ecx
push ebx
push ecx
add esp, 4
add ebx, 0xfbc3
call 0x5566f3
add byte [esi], dh
dec ecx
inc ebp
dec esi
cmp al, byte [eax + eax*2 + 0x3f]
add esp, 4
or ebx, 0x1068d
sub ebx, 0x5b8e
pop ebx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x454], edx
mov dword [ebp - 0xd8], 0
jmp 0x556730
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ecx + 0x18]
jae 0x556a08
push ebx
push ecx
add esp, 4
add ebx, 0xed86
sub ebx, 0x6c1d
pop ebx
push eax
push ebx
add esp, 4
jmp 0x556764
xor eax, 0xf13b
or eax, 0x16881
and eax, 0xa47c
pop eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edx
push eax
push ebx
add esp, 4
jmp 0x55679c
and eax, 0x11032
pop eax
push esi
push esi
add esp, 4
sub esi, 0x12e1
sub esi, 0x846f
sub esi, 0x175f5
add esi, 0x11b3c
pop esi
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x450]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x458], ecx
push eax
or eax, 0x52ba
jmp 0x5567f3
pop eax
push eax
push edx
add esp, 4
jmp 0x556800
sub eax, 0x7806
or eax, 0x7c14
pop eax
push ebx
and ebx, 0x13da1
pop ebx
mov dword [ebp - 0x40], 0
jmp 0x556827
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
test ecx, ecx
je 0x5568c3
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
test eax, eax
je 0x5568c3
push edi
add edi, 0x17ffa
and edi, 0x2626
xor edi, 0x8e7
pop edi
push eax
push ecx
add esp, 4
add eax, 0x8556
and eax, 0x253
add eax, 0x172f6
and eax, 0x1623e
pop eax
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
cmp edx, ecx
je 0x5568b5
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x40]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x40]
movsx edx, byte [ebp + ecx - 0x174]
cmp eax, edx
jne 0x5568bc
jmp 0x55681e
jmp 0x5568c3
push ebx
xor ebx, 0xdb0b
add ebx, 0x839f
jmp 0x5568d5
jmp 0x5568db
pop ebx
push ebx
push edx
add esp, 4
call 0x5568f1
add byte [eax + 0x4a], cl
inc ebx
xor edi, dword [edi]
inc eax
inc edx
dec ebp
push eax
inc esi
add esp, 4
pop ebx
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
cmp ecx, eax
jne 0x55691f
mov dword [ebp - 0x274], 0
jmp 0x5569ba
push ebx
sub ebx, 0x9fd5
call 0x556933
add byte [ebx], dh
xor bh, byte [edx]
aas
dec esi
dec ebp
xor al, byte [ebx + 0x565b04c4]
xor esi, 0x5add
add esi, 0x180bd
sub esi, 0x15f49
xor esi, 0x136f5
pop esi
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
or ecx, 0x20
cmp edx, ecx
jge 0x55697e
mov dword [ebp - 0x274], 0xffffffff
jmp 0x5569ba
push esi
push edi
add esp, 4
sub esi, 0x58f2
sub esi, 0xddb1
pop esi
push edi
push ebx
add esp, 4
and edi, 0xd3dd
jmp 0x5569a0
jmp 0x5569a9
add edi, 0x366b
pop edi
mov dword [ebp - 0x274], 1
cmp dword [ebp - 0x274], 0
jne 0x556a03
push edi
push edi
add esp, 4
call 0x5569d6
add byte [0x384b3c3d], bh
xor ecx, dword [ebx + ecx*2 - 0x7d]
les eax, [edi + ebx*2]
push ebx
call 0x5569eb
add byte [edi + 0x4d], al
aas
dec eax
xor al, 0x40
cmp eax, 0x8350374c
les eax, [ecx + eax*4]
retf
jmp 0x556721
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x556abd
push ecx
push esi
add esp, 4
xor ecx, 0x4bc7
add ecx, 0x7017
add ecx, 0x336a
add ecx, 0x151d0
pop ecx
push ecx
jmp 0x556a46
or ecx, 0xe85a
sub ecx, 0x2d53
pop ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x460], edx
lea eax, [ebp - 0x2b0]
push eax
call dword [ebp - 0x460]
test eax, eax
jne 0x556abd
push ebx
push ecx
add esp, 4
jmp 0x556a86
pop ebx
push edi
jmp 0x556a8e
pop edi
push esi
push esi
add esp, 4
jmp 0x556a99
jmp 0x556aa1
or esi, 0x10e0d
sub esi, 0xc2e6
pop esi
mov dword [ebp - 0x1b8], 0
jmp 0x557564
push ebx
push eax
add esp, 4
add ebx, 0x162de
pop ebx
push eax
add eax, 0xa47
or eax, 0x7a12
sub eax, 0x11efe
xor eax, 0x76fc
pop eax
push ecx
push ecx
add esp, 4
xor ecx, 0xc61d
pop ecx
push ebx
or ebx, 0x88c0
pop ebx
push ebx
push ebx
add esp, 4
or ebx, 0x10fb2
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0x2980
add ecx, 0x121e9
and ecx, 0x12854
xor ecx, 0x10494
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x464], ecx
push esi
push esi
add esp, 4
and esi, 0x5bda
pop esi
push ecx
push ecx
add esp, 4
jmp 0x556b44
pop ecx
push esi
call 0x556b56
add byte [ecx + 0x37], al
inc ecx
dec ebp
cmp byte [esi + edi], bh
dec eax
cmp dword [edi - 0x7d], eax
les eax, [ecx + eax*4]
imul byte [eax - 0x1c]
add byte [eax], al
pop esi
mov edx, dword [ebp - 0x464]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x468], eax
push eax
call 0x556b7f
add byte [eax + 0x36], cl
cmp al, 0x34
xor ecx, dword [eax + 0x41]
aas
inc edi
add esp, 4
or eax, 0x16362
pop eax
push edx
push ecx
add esp, 4
or edx, 0xfed
sub edx, 0x6e3
sub edx, 0x687a
pop edx
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x350], ecx
cmp dword [ebp - 0x350], 0
jne 0x556bf4
push esi
push esi
add esp, 4
jmp 0x556bc2
or esi, 0xc58e
add esi, 0x15eb9
pop esi
push esi
push ecx
add esp, 4
add esi, 0x1010e
jmp 0x556be1
add esi, 0x17d2b
pop esi
mov dword [ebp - 0x74], 0
jmp 0x556f80
push eax
sub eax, 0xd523
xor eax, 0x8f44
or eax, 0xcdba
pop eax
push edx
push ecx
add esp, 4
and edx, 0x349b
and edx, 0x303d
or edx, 0xaba3
add edx, 0x217f
pop edx
mov edx, dword [ebp - 0x350]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x280], ecx
cmp dword [ebp - 0x280], 0
jne 0x556c7f
push esi
xor esi, 0x3918
add esi, 0x1778a
sub esi, 0x12265
pop esi
push eax
push ebx
add esp, 4
sub eax, 0x27f5
xor eax, 0xe8e3
pop eax
push ebx
push ebx
add esp, 4
or ebx, 0x2019
pop ebx
mov dword [ebp - 0x74], 0
jmp 0x556f80
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0xb4], edx
push edx
push edx
add esp, 4
jmp 0x556c99
pop edx
push eax
push esi
add esp, 4
add eax, 0x1ddd
xor eax, 0xcd5b
jmp 0x556cb4
pop eax
push esi
or esi, 0x18c
pop esi
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x278], edx
push ecx
push esi
add esp, 4
jmp 0x556ce2
pop ecx
push eax
push esi
add esp, 4
xor eax, 0x8201
pop eax
push ecx
push ebx
add esp, 4
jmp 0x556cfb
xor ecx, 0x685b
pop ecx
push ebx
or ebx, 0xe3a
pop ebx
xor eax, eax
mov word [ebp - 0x50], ax
xor ecx, ecx
mov word [ebp - 0x28], cx
push esi
push edi
add esp, 4
and esi, 0xa956
pop esi
push eax
add eax, 0x426
and eax, 0xb725
and eax, 0x174b4
call 0x556d44
add byte [edx], bh
cmp byte [edi], dh
inc esi
inc eax
aaa
xor al, 0x49
inc ecx
add esp, 4
pop eax
mov edx, dword [ebp - 0x278]
mov ax, word [edx]
mov word [ebp - 0x1dc], ax
mov ecx, dword [ebp - 0x278]
add ecx, 2
mov dword [ebp - 0x278], ecx
mov dx, word [ebp - 0x1dc]
mov word [ebp - 0x50], dx
push ecx
push edi
add esp, 4
and ecx, 0x17fda
xor ecx, 0xccb8
xor ecx, 0x163dd
pop ecx
push esi
add esi, 0xe874
and esi, 0x9ed9
or esi, 0x32bb
or esi, 0x9061
pop esi
mov eax, dword [ebp - 0x27c]
mov cx, word [eax]
mov word [ebp - 0x1de], cx
mov edx, dword [ebp - 0x27c]
add edx, 2
mov dword [ebp - 0x27c], edx
mov ax, word [ebp - 0x1de]
mov word [ebp - 0x28], ax
push ecx
sub ecx, 0xfd48
and ecx, 0x1454d
pop ecx
push ecx
add ecx, 0x8ab3
add ecx, 0x3817
call 0x556df6
add byte [edx + 0x35], cl
push eax
xor edi, dword [eax]
xor al, 0x3e
add esp, 4
xor ecx, 0x4411
pop ecx
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x556e1d
movzx edx, word [ebp - 0x50]
movzx eax, word [ebp - 0x28]
sub edx, eax
mov dword [ebp - 0x358], edx
jmp 0x556ea0
movzx ecx, word [ebp - 0x50]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x556d16
movzx eax, word [ebp - 0x50]
xor eax, 0x20
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
je 0x556d16
push edi
push esi
add esp, 4
or edi, 0x1b00
call 0x556e5a
add byte [eax + 0x4b], al
inc ecx
cmp al, 0x35
inc edi
push eax
dec edi
inc esi
add esp, 4
pop edi
push ecx
sub ecx, 0xadc1
xor ecx, 0x2b94
sub ecx, 0x14683
pop ecx
movzx edx, word [ebp - 0x50]
movzx eax, word [ebp - 0x28]
cmp edx, eax
jge 0x556e8a
mov dword [ebp - 0x354], 0xffffffff
jmp 0x556e94
mov dword [ebp - 0x354], 1
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x358], ecx
cmp dword [ebp - 0x358], 0
jne 0x556ee9
push edx
push ebx
add esp, 4
or edx, 0xebc4
call 0x556ec1
add byte [0x38374a49], bh
cmp bh, byte [eax]
add esp, 4
call 0x556ed1
add byte [ecx + edi], dh
cmp al, 0x48
inc eax
dec ecx
dec esp
add esp, 4
or edx, 0x5313
pop edx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x74], edx
jmp 0x556f80
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
push ecx
push ecx
add esp, 4
call 0x556f0b
add byte [edx + esi + 0x3c], al
xor al, byte [ebx + 0x36]
cmp byte [esi + 0x3a], cl
add esp, 4
jmp 0x556f16
pop ecx
push eax
push edx
add esp, 4
sub eax, 0x6258
and eax, 0x2013
pop eax
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x280]
je 0x556f47
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x30], 0
jne 0x556c8b
push edx
push edx
add esp, 4
sub edx, 0x14899
xor edx, 0x144a7
pop edx
push eax
push edi
add esp, 4
call 0x556f6d
add byte [eax + 0x4a], cl
inc eax
aas
inc ebx
inc esp
push eax
xor eax, dword [ecx - 0x7d]
les eax, [eax + ebx*2]
push edi
and edi, 0x20c0
pop edi
mov dword [ebp - 0x74], 0
push edx
or edx, 0x1c4
and edx, 0x15a26
jmp 0x556f92
call 0x556fa0
add byte [edx + eax*2 + 0x42], al
cmp al, 0x48
inc esp
dec ebp
inc eax
add esp, 4
pop edx
push edi
xor edi, 0x85d9
or edi, 0x9999
pop edi
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x78], edx
push edx
or edx, 0x15ca1
jmp 0x556fc8
or edx, 0xa8ba
pop edx
push ecx
push edi
add esp, 4
and ecx, 0x586d
add ecx, 0x12c58
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0xc6ca
pop ecx
mov dword [ebp - 0x108], 0
push ebx
xor ebx, 0x16c56
call 0x55700a
add byte [edx + edi], bh
dec eax
aas
cmp al, 0x38
add esp, 4
and ebx, 0x10565
jmp 0x55701c
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x35c
pop ebx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0
jne 0x55707e
push ecx
add ecx, 0x84a0
call 0x557051
add byte [esi + edi + 0x4f], cl
dec ecx
dec ecx
aaa
aaa
inc ebp
add esp, 4
sub ecx, 0x17b2b
pop ecx
push esi
push edi
add esp, 4
add esi, 0x58cc
xor esi, 0x7ff6
pop esi
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], ecx
jmp 0x557558
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x78]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x360], eax
jne 0x5570a3
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], ecx
jmp 0x557558
push eax
push ecx
add esp, 4
call 0x5570b5
add byte [eax], bh
inc esi
dec esi
cmp al, 0x50
xor eax, 0x4c48337
pop eax
push eax
sub eax, 0x9620
pop eax
push eax
add eax, 0x44d6
and eax, 0x6818
add eax, 0xf40b
pop eax
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x360]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x364], edx
cmp dword [ebp - 0x364], 0
jne 0x557139
push eax
push edx
add esp, 4
sub eax, 0x68ab
and eax, 0x154b6
or eax, 0x15eee
pop eax
push ebx
and ebx, 0xc409
sub ebx, 0x15309
sub ebx, 0x17be4
sub ebx, 0x3cc9
pop ebx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xb8], eax
jmp 0x557558
push edx
push ebx
add esp, 4
xor edx, 0x37ba
add edx, 0x9dce
add edx, 0x7de5
call 0x55715f
add byte [edi + 0x32], al
xor ecx, dword ss:[edi + 0x4f]
aaa
inc edi
cmp byte [ebx + 0x575a04c4], al
xor edi, 0xda7c
pop edi
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x364]
mov dword [ebp - 0xe4], ecx
jne 0x5571bf
push edx
push ecx
add esp, 4
and edx, 0x148ed
pop edx
push ebx
push eax
add esp, 4
xor ebx, 0xb131
jmp 0x557198
pop ebx
push esi
push ebx
add esp, 4
and esi, 0x3641
jmp 0x5571ad
pop esi
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], edx
jmp 0x557558
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x46c], ecx
push edi
jmp 0x5571da
sub edi, 0x14fc1
pop edi
push edi
push edi
add esp, 4
xor edi, 0x573a
jmp 0x5571f5
jmp 0x5571fc
and edi, 0x11418
pop edi
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x78]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x470], eax
push ebx
or ebx, 0xc46e
and ebx, 0xadae
sub ebx, 0x130be
pop ebx
push edi
add edi, 0x90bc
or edi, 0x1765b
jmp 0x55723e
jmp 0x557246
pop edi
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x78]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0xe8], 0
jmp 0x557274
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ecx + 0x18]
jae 0x55754c
push eax
xor eax, 0x18210
pop eax
push ecx
push edx
add esp, 4
add ecx, 0xa701
add ecx, 0x480e
xor ecx, 0xc7fb
or ecx, 0x9e8b
pop ecx
push eax
push eax
add esp, 4
and eax, 0x18307
pop eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x78]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x110], edx
push eax
add eax, 0x1133f
pop eax
push edx
call 0x5572e9
add byte [ebx], dh
xor dh, byte [ebx]
dec ebx
cmp dword [ebp - 0x7d], eax
les eax, [ecx + eax*4]
ret 0x47fc
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x1b8], ecx
push 0
call dword [ebp - 0x1b8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret