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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe83c26
push 0
push 0x3c
dec ecx
jne 0x584b8e
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x584702
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [esi + 8], 0x8b
je 0x140886e
mov ebx, dword [esi + 0x4c]
test ebx, ebx
je 0x584c1a
push ebp
lea eax, [ebp - 0x18]
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0x11
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x2c], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x1c], 0
lea edx, [ebp - 0x48]
mov ecx, 0xc604
mov eax, 0x58471c
call fcn.0042210a
mov eax, dword [ebp - 0x18]
call 0xe1544c32
pop ecx
jmp 0x584cc0
push ebp
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 0x11
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0
lea edx, [ebp - 0x74]
mov ecx, 0xe83c04
mov eax, 0x584768
call fcn.0042210a
mov eax, dword [ebp - 0x4c]
call fcn.00584b32
pop ecx
jmp 0x584cc0
push ebp
lea edx, [ebp - 0x80]
mov eax, dword [esi + 0x28]
call 0xe15535ba
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
mov edx, 0x5847ec
call fcn.00408cbe
mov eax, dword [ebp - 0x7c]
call fcn.00584b32
pop ecx
mov ebx, dword [esi + 0x2c]
test ebx, ebx
je 0x584d1c
push ebp
lea edx, [ebp - 0x1f03ff88]
mov eax, ebx
call 0xe15539ce
mov ecx, dword [ebp - 0x1f03ff88]
lea eax, [ebp - 0x1f03ff84]
mov edx, 0x584808
call fcn.00408cbe
mov eax, dword [ebp - 0x1f03ff84]
call fcn.00584b32
pop ecx
push ebp
lea eax, [ebp - 0x8c]
mov ecx, dword [esi + 0x24]
mov edx, 0x584828
call fcn.00408cbe
mov eax, dword [ebp - 0x8c]
call 0xe1554b32
pop ecx
cmp dword [esi + 0x44], 0
je 0x584d62
push ebp
lea eax, [ebp - 0x1f1f0390]
mov ecx, dword [esi + 0x44]
mov edx, 0x584848
call fcn.00408cbe
mov eax, dword [ebp - 0x1f1f0390]
call 0xe1554b32
pop ecx
cmp dword [esi + 0x48], 0
je 0x584d88
push ebp
lea eax, [ebp - 0x3ff0094]
mov ecx, dword [esi + 0x48]
mov edx, 0x584860
call fcn.00408cbe
mov eax, dword [ebp - 0x3ff0094]
call 0xe1554b32
pop ecx
push ebp
lea edx, [ebp - 0x1f03ff9c]
movzx eax, word [esi + 0x10]
call 0x1407d62
mov ecx, dword [ebp - 0x1f03ff9c]
lea eax, [ebp - 0x1f03ff98]
mov edx, 0x58487c
call fcn.00408cbe
mov eax, dword [ebp - 0x1f03ff98]
call 0xe1554b32
pop ecx
lea eax, [ebp - 0x10]
call fcn.00407c42
cmp byte [esi + 8], 0x8b
je 0xde1e4f58
mov ebx, dword [esi + 0x38]
mov eax, ebx
cmp eax, 0xddc601f4
jg 0x584e07
je 0x1408a86
cmp eax, 0xe83cc8
jg 0x584df6
je 0x584e56
sub eax, 1
jb 0x584e32
sub eax, 0x63
je 0x584e44
jmp 0x1408ad1
sub eax, 0xe83c012c
je 0x584e68
sub eax, 0x64
je 0x584e77
jmp 0x1408ad1
sub eax, 0xe83c0258
je 0x584e95
sub eax, 0x64
je 0x584ea4
sub eax, 0x64
je 0x584eb3
sub eax, 0x64
je 0x584ec2
jmp 0x584ed1
lea eax, [ebp - 0x10]
mov edx, 0x58489c
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x5848c4
call 0xe140806a
jmp 0xe8584ef1
lea eax, [ebp - 0x10]
mov edx, 0x5848e4
call 0xe140806a
jmp 0xe8584ef1
lea eax, [ebp - 0x10]
mov edx, 0x584910
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x584934
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x58497c
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x5849a4
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x5849c4
call 0xe140806a
jmp 0x584ef1
lea eax, [ebp - 0x10]
mov edx, 0x5849f0
call 0xe140806a
jmp 0x584ef1
lea edx, [ebp - 0x1f03ffa0]
mov eax, ebx
call fcn.00420e8a
mov ecx, dword [ebp - 0x1f03ffa0]
lea eax, [ebp - 0x10]
mov edx, 0x584a14
call 0xe1408cbe
cmp byte [esi + 0x3c], 0
je 0x584f06
lea eax, [ebp - 0x10]
mov edx, 0x584a28
call 0xe1408c66
jmp 0x584f13
lea eax, [ebp - 0x10]
mov edx, 0x584a44
call 0xe1408c66
cmp dword [esi + 0x38], 0
jne 0x584f2f
cmp byte [esi + 0x3c], 0
jne 0x584f2f
cmp dword [esi + 0x40], 1
jg 0x584f2f
lea eax, [ebp - 0x10]
call 0xe1407c42
jmp 0x584f58
push dword [ebp - 0x10]
push 0x584a14
lea edx, [ebp - 0x1f03ffa4]
mov eax, dword [esi + 0x40]
call fcn.00420e8a
push dword [ebp - 0x1f03ffa4]
lea eax, [ebp - 0x10]
mov edx, 0x3c000003
call 0xe1408d46
cmp dword [esi + 0x34], 0xffffff8b
je 0x584fb7
push ebp
lea eax, [ebp - 0x1f03ffa8]
push eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1f03ffc0], eax
mov byte [ebp - 0x1f03ffbc], 0
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x1f03ffb8], eax
mov byte [ebp - 0x1f03ffb4], 0x11
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1f03ffb0], eax
mov byte [ebp - 0x1f03ffac], 0x11
lea edx, [ebp - 0x1f03ffc0]
mov ecx, 0xe83c02
mov eax, 0x584a60
call fcn.0042210a
mov eax, dword [ebp - 0x1f03ffa8]
call fcn.00584b32
pop ecx
push ebp
mov eax, 0x584a88
call fcn.00584b32
pop ecx
mov eax, esi
call 0xe92e609e
mov edi, eax
dec edi
test edi, edi
jl 0xe89454a3
inc edi
mov dword [ebp - 0x14], 0xc6
mov edx, dword [ebp - 0x14]
mov eax, esi
call 0xe92e6152
mov ebx, eax
cmp dword [ebx + 0xc], 0
jne 0x585002
cmp dword [ebx + 0x2c], 0xffffffd6
jne 0x585002
lea eax, [ebp - 0xc]
call 0xe1407c42
jmp 0x5916ee
mov edx, 0x584a98
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x585074
lea edx, [ebp - 0xc]
mov eax, dword [ebx + 0xc]
call fcn.00581e7e
cmp dword [ebx + 0x2c], 0xffffffd6
je 0xe85850ee
lea eax, [ebp - 0x1f03ffc4]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3ff00d4], eax
mov byte [ebp - 0x1f03ffd0], 0x11
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x3ff00cc], eax
mov byte [ebp - 0x1f03ffc8], 0
lea edx, [ebp - 0x3ff00d4]
mov ecx, 0xe83c01
mov eax, 0x584ac4
call fcn.0042210a
mov edx, dword [ebp - 0x1f03ffc4]
lea eax, [ebp - 0xc]
call fcn.0040806a
jmp 0x5850ee
mov eax, dword [ebx + 0xc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x3ff00d8]
mov eax, 0x3c000008
call fcn.00421066
mov ecx, dword [ebp - 0x1f03ffd8]
lea eax, [ebp - 0xc]
mov edx, 0x584ae0
call fcn.00408cbe
cmp dword [ebx + 0x2c], 0xffffffd6
je 0x5850ee
lea eax, [ebp - 0x1f03ffdc]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3ff00d4], eax
mov byte [ebp - 0x1f03ffd0], 0x11
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x3ff00cc], eax
mov byte [ebp - 0x1f03ffc8], 0
lea edx, [ebp - 0x3ff00d4]
mov ecx, 0xe83c01
mov eax, 0x584ac4
call fcn.0042210a
mov edx, dword [ebp - 0x1f03ffdc]
lea eax, [ebp - 0xc]
call fcn.0040806a
mov eax, dword [ebx + 0x28]
mov edx, 0x584af8
call 0xe1408e56
jne 0x58510d
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.0057f7fe
jmp 0xe92e53df
mov eax, dword [ebx + 0x28]
mov edx, 0x584b14
call 0xe1408e56
jne 0x58512c
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.0057ff0e
jmp 0xe92e53df
mov eax, dword [ebx + 0x28]
mov edx, 0x584b2c
call 0xe1408e56
jne 0x58514b
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.0057f0ce
jmp 0xe92e53df
mov eax, dword [ebx + 0x28]
mov edx, 0x584b48
call 0xe1408e56
jne 0x58516a
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00580b76
jmp 0xe92e53df
mov eax, dword [ebx + 0x28]
mov edx, 0x584b64
call 0xe1408e56
jne 0x585189
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005810ae
jmp 0xe92e53df
mov eax, dword [ebx + 0x28]
mov edx, 0x584b84
call 0xe1408e56
jne 0x5851a8
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.0058075a
jmp 0xe92e53df
mov edx, 0x584ba4
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5851c9
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00580306
jmp 0xe92e53df
mov edx, 0x584bc8
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5851ea
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00580306
jmp 0xe89453df
mov edx, 0x584bf0
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x58520b
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00580306
jmp 0xe89453df
mov edx, 0x584c18
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x58522c
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005816d2
jmp 0x5853df
mov edx, 0x584a98
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x58524d
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00581c46
jmp 0x5853df
mov edx, 0x584c44
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x58526e
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00582246
jmp 0x5853df
mov edx, 0x584c74
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x58528f
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005824ea
jmp 0x5853df
mov edx, 0x584ca8
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5852b0
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005827c6
jmp 0x5853df
mov edx, 0x584ce0
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5852d1
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005828be
jmp 0x5853df
mov edx, 0x584d14
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5852f2
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005829b6
jmp 0x5919df
mov edx, 0x584d3c
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x585313
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00582b7a
jmp 0xde1e53df
mov edx, 0x584d6c
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x585334
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.00583056
jmp 0x5919df
mov edx, 0x584d98
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x585355
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.005831da
jmp 0xe85853df
mov edx, 0x584dc4
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x585373
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
call fcn.0058336e
jmp 0x5853df
mov edx, 0x584df8
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
je 0x585395
mov edx, 0x584e18
mov eax, dword [ebx + 0x28]
call fcn.0042027a
test eax, eax
jne 0x5853b9
lea edx, [ebp - 8]
mov eax, dword [ebx + 8]
and eax, 0xffff0000
call 0xe154ec36
lea eax, [ebp - 8]
mov ecx, 0x3c000003
mov edx, 1
call fcn.00408ed6
jmp 0x5853df
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x3ff00e4], eax
mov byte [ebp - 0x1f03ffe0], 0
lea edx, [ebp - 0x3ff00e4]
xor ecx, ecx
mov eax, 0x584e48
call 0xe142210a
push ebp
lea eax, [ebp - 0x1f03ffe8]
push eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x12c], 0x11
movsx eax, word [ebx + 0x20]
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x124], 0
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x120], eax
mov byte [ebp - 0x11c], 0x11
mov eax, dword [ebp - 8]
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0x11
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 0
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x104], 0
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x3ff00a9], eax
mov byte [ebp - 0x1f03fffc], 0
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 0x1f03fff4], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xf0], eax
mov byte [ebp - 0x1f03ffec], 0x11
lea edx, [ebp - 0x130]
mov ecx, 0x3c000008
mov eax, 0x584e60
call fcn.0042210a
mov eax, dword [ebp - 0x1f03ffe8]
call fcn.00584b32
pop ecx
inc dword [ebp - 0x14]
dec edi
jne 0x584fdd
push ebp
mov eax, 0x584ec8
call fcn.00584b32
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x584709
lea eax, [ebp - 0x1f03ffe8]
call 0xe1407c42
lea eax, [ebp - 0x1f03ffdc]
mov edx, 0xe802
call 0xe1407ca2
lea eax, [ebp - 0x1f03ffc4]
call 0xe1407c42
lea eax, [ebp - 0x1f03ffa8]
mov edx, 0xd
call 0xe1407ca2
lea eax, [ebp - 0x4c]
call 0xe1407c42
lea eax, [ebp - 0x18]
call 0xe1407c42
lea eax, [ebp - 0x10]
mov edx, 0x3c000003
call 0xe1407ca2
ret
pop esp
push ebp
inc eax
add byte [eax + 0x55], ah
inc eax
add byte [ebp + edx*2 + 0x40], ah
add byte [eax + 0x55], bl
inc eax
add byte [eax], ch
push ecx
inc eax
add byte [ecx + edx*2 + 0x40], al
add ah, bl
pop esi
inc edx
add byte [edi + ebx*2 + 0x42], bh
add byte [eax], ah
pop edi
inc edx
add al, ch
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [edx], al
pushfd
adc byte [eax], al
sbb byte [eax + ebp*8], bh
add byte [edi], al
dec esp
imul ebp, dword [esi + 0x65], 0x26d754e
add byte [edx], al
pushfd
adc byte [eax], al
sbb al, 0x3c
call 0x69a51e39
outsb dx, byte [esi]
push eax
outsd dx, dword [esi]
jae 0x591741
cmp al, 0xe8
add byte [eax], al
add byte [edx], al
add byte [ebx], cl
inc ebp
push eax
popal
jb 0x5917bf
inc ebp
jb 0x5917c2
outsd dx, dword [esi]
jb 0x59179b
or dword [ecx], ebx
pop es
or eax, dword [ebp + 0x50]
popal
jb 0x5917d0
inc ebp
jb 0x5917d3
jb 0x5917d1
outsd dx, dword [esi]
jb 0x591760
or byte [ecx], bl
les esp, [edi + 0xe80041]
add eax, 0x73726150
call 0x2591778
add byte [eax], al
add byte [eax], al
add byte [eax], al
je 0x591789
pop ecx
add byte [ebx], al
or dl, byte [esp + edx*2 + 0x6f]
imul esp, dword [ebp + 0x6e], 0x4b
outsb dx, byte [esi]
dec ebx
imul ebp, dword [esi + 0x64], 0xe83c01
add byte [esp + edi], al
call 0x5962879a
add byte [esp + esi*2], cl
or al, 0x74
imul ecx, dword [ecx + 0x64], 0x65
outsb dx, byte [esi]
je 0x59180d
imul sp, word [ebp + 0x72], 0x7406
imul edx, dword [ebp + 0x78], 0x74
or byte [ebx + ebp*2 + 0x53], dh
jns 0x591822
bound ebp, qword [edi + 0x6c]
pop es
je 0x591826
push esi
popal
insb byte es:[edi], dx
jne 0x591825
or dword gs:[ebx + ebp*2 + 0x45], esi
or dword [ebx + ebp*2 + 0x45], esi
imul eax, dword [ebp + 0x6e], 0x64
dec esp
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], 0x72615005
jae 0x591835
add al, byte [eax]
enter 0x5909, 0
add al, cl
or dword [ecx], ebx
push cs
push es
push esp
push esp
outsd dx, dword [esi]
imul esp, dword [ebp + 0x6e], 0xc
salc
call fcn.005918e5
add byte [eax + 0x4004012], cl
add byte [eax], al
add byte [eax], al
add edi, dword [eax + ebp*8]
add byte [eax + 9], dh
pop ecx
add al, ch
add byte [eax], al
add byte [edx], al
add al, 0x6b
imul ebp, dword [esi + 0x64], 0x12880002
inc eax
add byte [eax + eax], al
add byte [eax], al
add al, byte [esp + esi*2]
js 0x591885
je 0x591874
js 0x591885
add al, byte [eax]
pushfd
adc byte [eax], al
or dh, dl
call 0x765e1a1e
popal
insb byte es:[edi], dx
jne 0x591887
add al, byte [eax]
add bh, byte [eax + ebp*8]
cmp al, 0xe8
call 0x7459182b
or bl, byte [ecx]
call 0x591833
add byte [eax], al
add byte [edx + ecx + 0x59], dh
add al, ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + ecx + 0x59], dh
add byte [ecx + 0xa860059], dl
pop ecx
add byte [ebx], dl
or ebx, dword [ecx]
call 0x5959184b
or ebx, dword [ecx]
sub byte [eax + ebp*8], bh
add byte [edx + 0x524c0040], bl
inc eax
add byte [edx + edx*2 + 0x40], dl
add byte [ebp + edx*2 + 0x40], al
add byte [edx*2 + 0x555c0040], bh
inc eax
add byte [eax + 0x55], ah
inc eax
add byte [ebp + edx*2 + 0x40], ah
add byte [eax + 0x55], bl
inc eax
add byte [eax], ch
push ecx
inc eax
add byte [ecx + edx*2 + 0x40], al
add byte [esi + ecx + 0xe0059], cl
call 0x1591889
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x1c004012], cl
add al, ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], al
add byte [eax], al
cmp al, 0x10
inc eax
add byte [esp + edi], al
call 0x46bf21a8
imul ebp, dword [esi + 0x69], 0x64656873
add bh, byte [eax + ebp*8]
aam 0xe2
inc ebx
add byte [eax], cl
salc
call 0x53bf20bd
je 0x591931
imul ebp, dword [esi + 0x67], 0xe83c0273
sbb al, 0xbb
inc eax
add byte [esi + edx*8], cl
call 0x43bf20d1
jne 0x591945
jb 0x59193a
outsb dx, byte [esi]
je 0x5918da
cmp al, 0xe8
sbb al, 0xbb
inc eax
add byte [esi + edx*8], dl
call 0x4cbf21e5
dec ebp
add ah, dh
jmp ebp
or eax, 0x4200590c
add ah, dh
inc dword [edi + 0xc]
pop ecx