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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2ac
push edi
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x77d]
push ebx
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, ecx
ja 0x100259ae
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x3c]
jmp 0x100244f5
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
cmp eax, 0x69a8
ja 0x1002465d
je 0x1002463a
cmp eax, 0x689a
ja 0x1002456d
je 0x10024558
cmp eax, 0x199f
je 0x10024544
cmp eax, 0x449c
jne case.0x10024584.26806
mov eax, dword [edi]
push eax
call fcn.10027fb3
mov ecx, dword [ebp + 8]
add esp, 4
cmp dword [ecx], 0
jne 0x100259ae
jmp case.0x10024584.26806
mov ecx, dword [ebp + 8]
mov eax, edi
call fcn.10022c90
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
jmp case.0x10024584.26806
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ecx
jmp case.0x10024584.26806
add eax, 0xffff974b
cmp eax, 0xd8
ja case.0x10024584.26806
movzx eax, byte [eax + 0x100259e0]
jmp dword [eax*4 + 0x100259b8]
mov ecx, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
jmp case.0x10024584.26806
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x8c], eax
jmp case.0x10024584.26806
mov ecx, dword [edx + 0x4c]
mov edx, dword [edx + 0x50]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], edx
jmp case.0x10024584.26806
mov eax, dword [ecx]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x30], ecx
jmp case.0x10024584.26806
mov eax, dword [ecx]
mov ecx, dword [eax + 0x10]
lea eax, [ecx + esi - 0x101]
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ecx
jmp case.0x10024584.26806
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx - 5]
mov dword [esp + 0x64], edx
jmp case.0x10024584.26806
mov eax, dword [ecx]
mov eax, dword [eax]
dec eax
mov dword [esp + 0x20], eax
jmp case.0x10024584.26806
mov ecx, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x74], edx
jmp case.0x10024584.26806
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [edi]
dec esi
add eax, esi
mov dword [esp + 0x88], eax
jmp case.0x10024584.26806
mov ecx, dword [edx + 0x54]
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x58]
dec eax
mov dword [esp + 0x78], eax
mov eax, 1
shl eax, cl
dec eax
mov dword [esp + 0x7c], eax
jmp case.0x10024584.26806
cmp eax, 0x6ad1
ja 0x1002523c
je 0x100259ae
add eax, 0xffff963d
cmp eax, 0xf3
ja case.0x10024584.26806
movzx eax, byte [eax + 0x10025ae8]
jmp dword [eax*4 + 0x10025abc]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ecx, [esi + 1]
mov dword [eax + 0xc], ecx
jmp case.0x10024584.26806
mov eax, dword [esp + 0x10]
shr eax, 3
mov dword [esp + 0x1c], eax
jmp case.0x10024584.26806
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
inc ecx
mov dword [eax], ecx
jmp case.0x10024584.26806
mov edi, 0x388
mov dword [esp + 0x70], edi
cmp edi, 0x499
ja 0x10024787
je 0x1002477a
mov eax, edi
sub eax, 0x388
je 0x1002471d
sub eax, 0x5b
je 0x10024700
sub eax, 0x5b
jne 0x1002517f
movzx ecx, byte [esp + 0x25]
mov dword [esp + 0x14], ecx
jmp 0x1002517f
mov edx, dword [esp + 0x78]
and edx, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x24], ecx
mov edi, 0x3e3
jmp 0x1002517f
cmp dword [esp + 0x10], 0xf
jae 0x1002517f
mov edx, 0x46c0
mov eax, edx
sub eax, 0x46c0
je 0x10024754
sub eax, 0x4e
je 0x10024747
sub eax, 0x4e
jne 0x1002476a
add dword [esp + 0x10], 8
jmp 0x1002476a
mov ecx, dword [esp + 0x10]
add ecx, 8
mov dword [esp + 0x10], ecx
jmp 0x10024758
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
movzx eax, byte [eax]
shl eax, cl
add dword [esp + 0x18], eax
add edx, 0x4e
cmp edx, 0x475c
jbe 0x1002472d
jmp 0x1002517f
mov ecx, dword [esp + 0x14]
shr dword [esp + 0x18], cl
jmp 0x1002517f
mov eax, edi
sub eax, 0x4f4
je 0x10025177
sub eax, 0x5b
je 0x1002516c
sub eax, 0x5b
jne 0x1002517f
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100247ba
mov cl, byte [esp + 0x26]
inc esi
mov byte [esi], cl
jmp 0x1002517f
test al, 0x10
je 0x100250c7
mov eax, 0x6377
mov dword [esp + 0x58], eax
jmp 0x100247d0
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
cmp eax, 0x63f8
ja 0x10024941
je 0x10025046
sub eax, 0x6377
je 0x1002492e
sub eax, 0x2b
je 0x1002481a
sub eax, 0x2b
jne 0x100250a8
mov eax, dword [esp + 0x7c]
and eax, dword [esp + 0x18]
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x24], ecx
jmp 0x100250a8
cmp dword [esp + 0x14], 0
je 0x100248e3
xor edi, edi
mov dword [esp + 0x38], 5
nop
cmp edi, 0xe0
ja case.0x10024843.1
movzx edx, byte [edi + 0x10025bf4]
jmp dword [edx*4 + 0x10025bdc]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x80], eax
jmp case.0x10024843.1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
jae case.0x10024843.1
mov edx, 0x4dd3
mov eax, edx
sub eax, 0x4dd3
je 0x1002487d
sub eax, 0x13
jne 0x10024893
add dword [esp + 0x10], 8
jmp 0x10024893
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x20], eax
movzx eax, byte [eax]
shl eax, cl
add dword [esp + 0x18], eax
add edx, 0x13
cmp edx, 0x4de6
jbe 0x10024868
jmp case.0x10024843.1
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x10], ecx
jmp case.0x10024843.1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, 1
shl edx, cl
dec edx
and edx, eax
add dword [esp + 0x1c], edx
shr eax, cl
mov dword [esp + 0x18], eax
jmp case.0x10024843.1
mov eax, dword [esp + 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessVersion]
add edi, 0x38
dec dword [esp + 0x38]
jne 0x10024830
cmp dword [esp + 0x10], 0xf
jae 0x100250a8
mov edx, 0x895
mov eax, edx
sub eax, 0x895
je 0x10024901
sub eax, 0x2f
jne 0x1002491e
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x20], eax
movzx eax, byte [eax]
shl eax, cl
add dword [esp + 0x18], eax
add ecx, 8
mov dword [esp + 0x10], ecx
add edx, 0x2f
cmp edx, 0x8c4
jbe 0x100248f3
jmp 0x100250a8
movzx ecx, word [esp + 0x26]
and dword [esp + 0x14], 0xf
mov dword [esp + 0x1c], ecx
jmp 0x100250a8
sub eax, 0x6423
je 0x1002509d
sub eax, 0x2b
je 0x1002508c
sub eax, 0x2b
jne 0x100250a8
mov ecx, dword [esp + 0x14]
test cl, 0x10
je 0x1002500f
mov dword [esp + 0x38], 0x3110
mov eax, dword [esp + 0x38]
add eax, 0xffffcef0
cmp eax, 0xab
ja case.0x1002498e.12561
movzx edx, byte [eax + 0x10025cec]
jmp dword [edx*4 + 0x10025cd8]
mov eax, esi
sub eax, dword [esp + 0x88]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x34], eax
jbe 0x10024e76
mov dword [esp + 0x5c], 0xfaf
jmp 0x100249c0
mov eax, dword [esp + 0x5c]
cmp eax, 0x1081
ja 0x10024cc8
je 0x10024a71
sub eax, 0xfaf
je 0x10024a60
sub eax, 0x46
je 0x100249f8
sub eax, 0x46
jne 0x10024d9a
mov ebx, dword [esp + 0x74]
dec ebx
jmp 0x10024d9a
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x14], eax
jbe 0x10024d9a
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x1bc0], 0
je 0x10024d9a
mov edx, dword [ebp + 8]
mov ecx, 0x3ef0
mov eax, ecx
sub eax, 0x3ef0
je 0x10024a47
sub eax, 0x53
jne 0x10024a50
mov eax, dword [esp + 0x30]
mov dword [eax], 0x1d
mov dword [esp + 0x40], 0x69de
jmp case.0x10024584.26806
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_distance_too_far_back
add ecx, 0x53
cmp ecx, 0x3f43
jbe 0x10024a22
jmp 0x10024d9a
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
jmp 0x10024d9a
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x10024afe
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x4349
cmp dword [esp + 0x2c], 0x4349
jne 0x10024adf
mov eax, dword [esp + 0x60]
sub eax, edx
add ebx, eax
cmp edx, edi
jae 0x10024adf
mov ecx, 0x5377
jmp 0x10024ab0
mov eax, ecx
sub eax, 0x5377
je 0x10024ad2
sub eax, 0x4a
jne 0x10024ad4
sub ebx, esi
mov al, byte [ebx + esi + 1]
inc esi
dec edx
mov byte [esi], al
jne 0x10024ac0
mov ebx, esi
sub ebx, dword [esp + 0x34]
jmp 0x10024ad4
sub edi, edx
add ecx, 0x4a
cmp ecx, 0x53c1
jbe 0x10024ab0
mov eax, dword [esp + 0x2c]
add eax, 0x24
mov dword [esp + 0x2c], eax
cmp eax, 0x4349
jbe 0x10024a8d
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edx
jmp 0x10024d9a
mov edi, dword [esp + 0x14]
cmp ecx, edi
jae 0x10024c4b
mov edx, 0x2b4d
mov dword [esp + 0x44], edx
mov eax, edx
sub eax, 0x2b4d
je 0x10024c23
sub eax, 0x39
jne 0x10024c2f
cmp edi, dword [esp + 0x1c]
jae 0x10024c2f
mov edx, 0x236a
mov dword [esp + 0x68], edx
lea esp, [esp]
mov eax, edx
sub eax, 0x236a
je 0x10024bf7
sub eax, 0x11
je 0x10024bf0
sub eax, 0x11
jne 0x10024c0a
cmp ecx, dword [esp + 0x1c]
jae 0x10024c0a
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], 5
cmp eax, 0x50
ja case.0x10024b81.1
movzx edx, byte [eax + 0x10025db0]
jmp dword [edx*4 + 0x10025d98]
mov al, byte [ebx + 1]
inc ebx
inc esi
dec edi
mov byte [esi], al
jne case.0x10024b81.40
jmp case.0x10024b81.1
mov ebx, esi
sub ebx, dword [esp + 0x34]
jmp case.0x10024b81.1
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0xa8]
push ecx
push 4
lea edx, [esp + 0xb4]
push edx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
jmp 0x10024bd5
mov edi, ecx
jmp case.0x10024b81.1
sub dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
add eax, 0x14
dec dword [esp + 0x14]
mov dword [esp + 0x2c], eax
jne 0x10024b75
mov edx, dword [esp + 0x68]
jmp 0x10024c0a
mov ebx, dword [esp + 0x74]
dec ebx
jmp 0x10024c0a
sub dword [esp + 0x1c], edi
jmp 0x10024c00
mov al, byte [ebx + 1]
inc ebx
inc esi
dec edi
mov byte [esi], al
jne 0x10024c00
add edx, 0x11
mov dword [esp + 0x68], edx
cmp edx, 0x238c
jbe 0x10024b40
mov edx, dword [esp + 0x44]
jmp 0x10024c2f
mov eax, ecx
sub eax, edi
add eax, dword [esp + 0x60]
add ebx, eax
sub edi, ecx
add edx, 0x39
mov dword [esp + 0x44], edx
cmp edx, 0x2b86
jbe 0x10024b13
mov dword [esp + 0x14], edi
jmp 0x10024d9a
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x27ed
cmp dword [esp + 0x2c], 0x27ed
jne 0x10024ca9
mov ecx, dword [esp + 0x48]
sub ecx, edi
add ebx, ecx
cmp edi, edx
jae 0x10024ca9
mov ecx, 0x1b5e
mov eax, ecx
sub eax, 0x1b5e
je 0x10024c9c
sub eax, 0x5b
je 0x10024c90
sub eax, 0x5b
jne 0x10024c9e
mov ebx, esi
sub ebx, dword [esp + 0x34]
jmp 0x10024c9e
mov al, byte [ebx + 1]
inc ebx
inc esi
dec edi
mov byte [esi], al
jne 0x10024c90
jmp 0x10024c9e
sub edx, edi
add ecx, 0x5b
cmp ecx, 0x1c14
jbe 0x10024c72
mov eax, dword [esp + 0x2c]
add eax, 0x57
mov dword [esp + 0x2c], eax
cmp eax, 0x27ed
jbe 0x10024c57
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edi
jmp 0x10024d9a
sub eax, 0x10c7
je 0x10024d1a
sub eax, 0x46
jne 0x10024d9a
cmp dword [esp + 0x1c], eax
je 0x10024d9a
mov edx, dword [esp + 0x1c]
mov ecx, 0x57bd
jmp 0x10024cf0
mov eax, ecx
sub eax, 0x57bd
je 0x10024d03
sub eax, 0x43
jne 0x10024d0a
cmp edx, 1
jbe 0x10024d0a
mov al, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi], al
add ecx, 0x43
cmp ecx, 0x5800
jbe 0x10024cf0
jmp 0x10024d9a
cmp dword [esp + 0x1c], 2
jbe 0x10024d9a
mov edi, 0x7dd2
mov dword [esp + 0x44], edi
cmp edi, 0x7edd
ja 0x10024de4
je 0x10024dcd
mov eax, edi
sub eax, 0x7dd2
je 0x10024dc6
sub eax, 0x59
je 0x10024dbd
sub eax, 0x59
jne 0x10024d84
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov cl, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi], cl
add edi, 0x59
mov dword [esp + 0x44], edi
cmp edi, 0x7fe8
jbe 0x10024d2a
cmp dword [esp + 0x1c], 2
ja 0x10024d21
mov eax, dword [esp + 0x5c]
add eax, 0x46
mov dword [esp + 0x5c], eax
cmp eax, 0x110d
jbe 0x100249c0
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jmp case.0x1002498e.12561
mov dl, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi], dl
jmp 0x10024d84
mov byte [esp + 0x2b], 1
jmp 0x10024d84
push str.FirstStep
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x50], eax
jmp 0x10024d84
mov eax, edi
sub eax, 0x7f36
je 0x10024d7d
sub eax, 0x59
je 0x10024e41
sub eax, 0x59
jne 0x10024d84
cmp byte [esp + 0x2b], al
je 0x10024e33
mov edi, 0x6f80
mov eax, edi
sub eax, 0x6f80
je 0x10024e1d
sub eax, 0x62
jne 0x10024e28
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10024e28
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
add edi, 0x62
cmp edi, 0x6fe2
jbe 0x10024e02
sub dword [esp + 0x1c], 3
mov edi, dword [esp + 0x44]
jmp 0x10024d84
cmp dword [esp + 0x50], 0
jne 0x10024e4d
mov byte [esp + 0x2b], 0
push 0x104
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x98]
push eax
push 0x10041750
push 0
push 0x7f
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
jmp 0x10024d84
mov edx, 0x7410
mov eax, edx
sub eax, 0x7410
je 0x10024f11
sub eax, 0x29
je 0x10024ed0
sub eax, 0x29
jne 0x10024f17
test edi, edi
je 0x10024f17
mov ecx, 0x4f2f
mov eax, ecx
sub eax, 0x4f2f
je 0x10024eb6
sub eax, 0x62
jne 0x10024ebd
cmp edi, 1
jbe 0x10024ebd
mov al, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi], al
add ecx, 0x62
cmp ecx, 0x4f91
jbe 0x10024ea3
jmp 0x10024f17
mov ecx, 0x285
mov eax, ecx
sub eax, 0x285
je 0x10024eed
sub eax, 0x5e
jne 0x10024eff
mov al, byte [ebx + 1]
inc ebx
inc esi
sub edi, 3
jmp 0x10024efd
movzx eax, byte [ebx + 1]
add ebx, 2
mov byte [esi + 1], al
movzx eax, byte [ebx]
add esi, 2
mov byte [esi], al
add ecx, 0x5e
cmp ecx, 0x2e3
jbe 0x10024ed5
cmp edi, 2
ja 0x10024ed0
jmp 0x10024f17
mov ebx, esi
sub ebx, dword [esp + 0x34]
add edx, 0x29
cmp edx, 0x7462
jbe 0x10024e7b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
jmp case.0x1002498e.12561
cmp dword [esp + 0x10], ecx
jae 0x10024fc8
mov edi, 0x21f4
mov eax, edi
sub eax, 0x21f4
je 0x10024f97
sub eax, 0x5a
jne 0x10024fb5
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x14]
jae 0x10024fb5
mov edx, 0x4f0e
mov eax, edx
sub eax, 0x4f0e
je 0x10024f74
sub eax, 0x39
jne 0x10024f8a
add dword [esp + 0x10], 8
jmp 0x10024f8a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x20], eax
movzx eax, byte [eax]
shl eax, cl
add dword [esp + 0x18], eax
add edx, 0x39
cmp edx, 0x4f47
jbe 0x10024f5f
jmp 0x10024fb5
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + 1]
mov ecx, dword [esp + 0x10]
inc eax
shl edx, cl
mov dword [esp + 0x20], eax
add dword [esp + 0x18], edx
add ecx, 8
mov dword [esp + 0x10], ecx
add edi, 0x5a
cmp edi, 0x224e
jbe 0x10024f42
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x18]
add dword [esp + 0x34], eax
jmp case.0x1002498e.12561
shr dword [esp + 0x18], cl
sub dword [esp + 0x10], ecx
jmp case.0x1002498e.12561
movzx edx, word [esp + 0x26]
and ecx, 0xf
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x38]
add eax, 0x39
mov dword [esp + 0x38], eax
cmp eax, 0x31bb
jbe 0x10024973
jmp 0x100250a8
test cl, 0x40
jne 0x10025050
mov eax, 0x7d1c
cmp eax, eax
je 0x1002502c
add eax, 0x51
cmp eax, 0x7d1c
jbe 0x1002501b
jmp 0x100250a8
mov eax, 1
shl eax, cl
movzx ecx, word [esp + 0x26]
dec eax
and eax, dword [esp + 0x18]
add eax, ecx
mov edx, dword [edx + eax*4]
mov dword [esp + 0x24], edx
mov dword [esp + 0x58], 0x63f8
jmp 0x100250a8
mov ecx, 0x10d1
mov eax, ecx
sub eax, 0x10d1
je 0x10025069
sub eax, 0x24
je case.0x10024685.27102
jmp 0x1002507f
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [edx + 0x18], str.invalid_distance_code
mov dword [eax], 0x1d
add ecx, 0x24
cmp ecx, 0x10f5
jbe 0x10025055
jmp 0x100250a8
mov edx, dword [esp + 0x14]
sub dword [esp + 0x10], edx
movzx eax, cl
mov dword [esp + 0x14], eax
jmp 0x100250a8
movzx ecx, ch
shr dword [esp + 0x18], cl
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x58]
add eax, 0x2b
mov dword [esp + 0x58], eax
cmp eax, 0x6479
jbe 0x100247d0
mov edi, dword [esp + 0x70]
jmp 0x1002517f
test al, 0x40
jne 0x10025113
mov edx, 0x1bff
mov eax, edx
sub eax, 0x1bff
je 0x100250e4
sub eax, 0x18
je 0x10024713
jmp 0x10025106
mov ecx, dword [esp + 0x14]
mov eax, 1
shl eax, cl
movzx ecx, word [esp + 0x26]
dec eax
and eax, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
add edx, 0x18
cmp edx, 0x1c17
jbe 0x100250d0
jmp 0x1002517f
test al, 0x20
je 0x10025130
mov eax, 0x5f27
cmp eax, eax
je 0x100251af
add eax, 0x52
cmp eax, 0x5f27
jbe 0x1002511e
jmp 0x1002517f
mov ecx, 0x765c
mov eax, ecx
sub eax, 0x765c
je 0x10025149
sub eax, 0x18
je case.0x10024685.27102
jmp 0x1002515f
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [esp + 0x30]
mov dword [eax + 0x18], str.invalid_literal_length_code
mov dword [edx], 0x1d
add ecx, 0x18
cmp ecx, 0x7674
jbe 0x10025135
jmp 0x1002517f
movzx eax, byte [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x1002517f
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x10], ecx
add edi, 0x5b
mov dword [esp + 0x70], edi
cmp edi, 0x5aa
jbe 0x100246c9
mov edx, dword [esp + 0x64]
cmp dword [esp + 0x20], edx
jae case.0x10024584.26806
cmp esi, dword [esp + 0x6c]
jb case.0x10024685.27075
jmp case.0x10024584.26806
mov ecx, dword [esp + 0x30]
mov dword [ecx], 0xb
mov dword [esp + 0x40], 0x69de
jmp case.0x10024584.26806
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [eax + 0x3c], edx
jmp case.0x10024584.26806
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
sub eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add eax, 5
mov dword [edx + 4], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [ecx]
sub eax, esi
add eax, 0x101
mov dword [ecx + 0x10], eax
jmp case.0x10024584.26806
mov ecx, dword [esp + 0x10]
mov edx, 1
shl edx, cl
dec edx
and dword [esp + 0x18], edx
jmp case.0x10024584.26806
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x20], eax
add eax, eax
add eax, eax
add eax, eax
sub dword [esp + 0x10], eax
jmp case.0x10024584.26806
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [edx + 0x38], ecx
jmp case.0x10024584.26806
cmp eax, 0x74f3
jne case.0x10024584.26806
mov eax, dword [edi]
cmp eax, 0x10b
ja 0x100252d7
je 0x1002549a
sub eax, 0xc
cmp eax, 0xfc
ja case.0x100252ec.269
movzx eax, byte [eax + 0x10025e84]
jmp dword [eax*4 + 0x10025e04]
mov edx, dword [ebp + 8]
mov ecx, 0x1237
mov esi, esi
mov eax, ecx
sub eax, 0x1237
je 0x10025294
sub eax, 0xd
je case.0x100252ec.269
jmp 0x1002529a
mov dword [edx], fcn.10009560
add ecx, 0xd
cmp ecx, 0x1244
jbe 0x10025280
jmp 0x100252aa
mov edx, dword [ebp + 8]
mov ecx, 0x734f
nop
mov eax, ecx
sub eax, 0x734f
je 0x100252c4
sub eax, 0x5d
je case.0x100252ec.269
jmp 0x100252ca
mov dword [edx], fcn.100098b0
add ecx, 0x5d
cmp ecx, 0x73ac
jbe 0x100252b0
jmp 0x100252f6
sub eax, 0x10c
cmp eax, 0x37
ja case.0x100252ec.269
movzx ecx, byte [eax + 0x10025fb0]
jmp dword [ecx*4 + 0x10025f84]
mov edx, dword [ebp + 8]
mov ecx, 0x7dea
jmp 0x10025300
mov eax, ecx
sub eax, 0x7dea
je 0x10025314
sub eax, 0x31
je case.0x100252ec.269
jmp 0x1002531a
mov dword [edx], fcn.10008ba0
add ecx, 0x31
cmp ecx, 0x7e1b
jbe 0x10025300
jmp 0x1002532a
mov edx, dword [ebp + 8]
mov eax, 0x5489
cmp eax, eax
je 0x1002533f
add eax, 0x53
cmp eax, 0x5489
jbe 0x10025331
jmp 0x1002534d
mov dword [edx], fcn.10007920
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x7e91
mov eax, ecx
sub eax, 0x7e91
je 0x10025366
sub eax, 0x3e
je case.0x100252ec.269
jmp 0x1002536c
mov dword [edx], fcn.10005720
add ecx, 0x3e
cmp ecx, 0x7ecf
jbe 0x10025352
jmp 0x1002537c
mov edx, dword [ebp + 8]
mov ecx, 0x6cf5
mov eax, ecx
sub eax, 0x6cf5
je 0x10025395
sub eax, 0x4f
je case.0x100252ec.269
jmp 0x1002539b
mov dword [edx], fcn.100082a0
add ecx, 0x4f
cmp ecx, 0x6d44
jbe 0x10025381
jmp 0x100253ab
mov edx, dword [ebp + 8]
mov eax, 0x20fc
cmp eax, eax
je 0x100253c0
add eax, 0x59
cmp eax, 0x20fc
jbe 0x100253b2
jmp 0x100253ce
mov dword [edx], fcn.10007710
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov eax, 0x21
cmp eax, eax
je 0x100253e1
add eax, 0x46
cmp eax, 0x21
jbe 0x100253d5
jmp 0x100253ef
mov dword [edx], 0x10005bb0
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x35a1
mov eax, ecx
sub eax, 0x35a1
je 0x10025408
sub eax, 0x52
je case.0x100252ec.269
jmp 0x1002540e
mov dword [edx], fcn.10005730
add ecx, 0x52
cmp ecx, 0x35f3
jbe 0x100253f4
jmp 0x1002541e
mov edx, dword [ebp + 8]
mov eax, 0x2595
cmp eax, eax
je 0x10025433
add eax, 0x56
cmp eax, 0x2595
jbe 0x10025425
jmp 0x10025441
mov dword [edx], fcn.1000be80
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x7e49
mov eax, ecx
sub eax, 0x7e49
je 0x1002545a
sub eax, 0x47
je case.0x100252ec.269
jmp 0x10025460
mov dword [edx], 0x10006470
add ecx, 0x47
cmp ecx, 0x7e90
jbe 0x10025446
jmp 0x10025470
mov edx, dword [ebp + 8]
mov ecx, 0x3ba0
mov eax, ecx
sub eax, 0x3ba0
je 0x10025489
sub eax, 0x22
je case.0x100252ec.269
jmp 0x1002548f
mov dword [edx], fcn.1000afa0
add ecx, 0x22
cmp ecx, 0x3bc2
jbe 0x10025475
mov edx, dword [ebp + 8]
mov ecx, 0x3831
mov eax, ecx
sub eax, 0x3831
je 0x100254b6
sub eax, 0x28
je case.0x100252ec.269
jmp 0x100254bc
mov dword [edx], fcn.10008250
add ecx, 0x28
cmp ecx, 0x3859
jbe 0x100254a2
jmp 0x100254cc
mov edx, dword [ebp + 8]
mov ecx, 0x6083
mov eax, ecx
sub eax, 0x6083
je 0x100254e5
sub eax, 0x4b
je case.0x100252ec.269
jmp 0x100254eb
mov dword [edx], fcn.1000b800
add ecx, 0x4b
cmp ecx, 0x60ce
jbe 0x100254d1
jmp 0x100254fb
mov edx, dword [ebp + 8]
mov eax, 0x3d9a
cmp eax, eax
je 0x10025510
add eax, 0x1e
cmp eax, 0x3d9a
jbe 0x10025502
jmp 0x1002551e
mov dword [edx], 0x1000c050
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov eax, 0x56ef
cmp eax, eax
je 0x10025533
add eax, 0x3a
cmp eax, 0x56ef
jbe 0x10025525
jmp 0x10025541
mov dword [edx], 0x10007370
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x71f7
mov eax, ecx
sub eax, 0x71f7
je 0x1002555a
sub eax, 0x43
je case.0x100252ec.269
jmp 0x10025560
mov dword [edx], fcn.1000b0a0
add ecx, 0x43
cmp ecx, 0x723a
jbe 0x10025546
jmp 0x10025570
mov edx, dword [ebp + 8]
mov ecx, 0x6177
mov eax, ecx
sub eax, 0x6177
je 0x10025589
sub eax, 0x3a
je case.0x100252ec.269
jmp 0x1002558f
mov dword [edx], 0x1000c050
add ecx, 0x3a
cmp ecx, 0x61b1
jbe 0x10025575
jmp 0x1002559f
mov edx, dword [ebp + 8]
mov ecx, 0x42c
mov eax, ecx
sub eax, 0x42c
je 0x100255b8
sub eax, 0x3e
je case.0x100252ec.269
jmp 0x100255be
mov dword [edx], fcn.10007c10
add ecx, 0x3e
cmp ecx, 0x46a
jbe 0x100255a4
jmp 0x100255ce
mov edx, dword [ebp + 8]
mov ecx, 0x2a3a
mov eax, ecx
sub eax, 0x2a3a
je 0x100255e7
sub eax, 0x26
je case.0x100252ec.269
jmp 0x100255ed
mov dword [edx], fcn.1000afa0
add ecx, 0x26
cmp ecx, 0x2a60
jbe 0x100255d3
jmp 0x100255fd
mov edx, dword [ebp + 8]
mov ecx, 0x715b
mov eax, ecx
sub eax, 0x715b
je 0x10025616
sub eax, 0x46
je case.0x100252ec.269
jmp 0x1002561c
mov dword [edx], fcn.1000a450
add ecx, 0x46
cmp ecx, 0x71a1
jbe 0x10025602
jmp 0x1002562c
mov edx, dword [ebp + 8]
mov eax, 0x348b
cmp eax, eax
je 0x10025641
add eax, 0x54
cmp eax, 0x348b
jbe 0x10025633
jmp 0x1002564f
mov dword [edx], fcn.10005ba0
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x3eee
mov eax, ecx
sub eax, 0x3eee
je 0x10025668
sub eax, 0x15
je case.0x100252ec.269
jmp 0x1002566e
mov dword [edx], fcn.100080e0
add ecx, 0x15
cmp ecx, 0x3f03
jbe 0x10025654
jmp 0x1002567e
mov edx, dword [ebp + 8]
mov eax, 0x2740
cmp eax, eax
je 0x10025693
add eax, 0x59
cmp eax, 0x2740
jbe 0x10025685
jmp 0x100256a1
mov dword [edx], fcn.1000c400
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x6786
mov eax, ecx
sub eax, 0x6786
je 0x100256ba
sub eax, 0x24
je case.0x100252ec.269
jmp 0x100256c0
mov dword [edx], fcn.1000c020
add ecx, 0x24
cmp ecx, 0x67aa
jbe 0x100256a6
jmp 0x100256d0
mov edx, dword [ebp + 8]
mov ecx, 0x6c32
mov eax, ecx
sub eax, 0x6c32
je 0x100256e9
sub eax, 0x17
je case.0x100252ec.269
jmp 0x100256ef
mov dword [edx], fcn.10006130
add ecx, 0x17
cmp ecx, 0x6c49
jbe 0x100256d5
jmp 0x100256ff
mov edx, dword [ebp + 8]
mov eax, 0x8b1
cmp eax, eax
je 0x10025714
add eax, 0x3b
cmp eax, 0x8b1
jbe 0x10025706
jmp 0x10025722
mov dword [edx], fcn.10005720
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov eax, 0x7f95
cmp eax, eax
je 0x10025737
add eax, 0x62
cmp eax, 0x7f95
jbe 0x10025729
jmp 0x10025745
mov dword [edx], fcn.10008070
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x3729
lea edi, [edi]
mov eax, ecx
sub eax, 0x3729
je 0x10025764
sub eax, 4
je case.0x100252ec.269
jmp 0x1002576a
mov dword [edx], fcn.10005730
add ecx, 4
cmp ecx, 0x372d
jbe 0x10025750
jmp 0x1002577a
mov edx, dword [ebp + 8]
mov eax, 0x6107
cmp eax, eax
je 0x1002578f
add eax, 0xc
cmp eax, 0x6107
jbe 0x10025781
jmp 0x1002579d
mov dword [edx], fcn.10005730
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov eax, 0x13ad
cmp eax, eax
je 0x100257b2
add eax, 0x62
cmp eax, 0x13ad
jbe 0x100257a4
jmp 0x100257c0
mov dword [edx], 0x10006c50
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x24eb
mov eax, ecx
sub eax, 0x24eb
je 0x100257d9
sub eax, 0xf
je case.0x100252ec.269
jmp 0x100257df
mov dword [edx], fcn.10007000
add ecx, 0xf
cmp ecx, 0x24fa
jbe 0x100257c5
jmp 0x100257ef
mov edx, dword [ebp + 8]
mov eax, 0x2c2c
cmp eax, eax
je 0x10025804
add eax, 0x44
cmp eax, 0x2c2c
jbe 0x100257f6
jmp 0x10025812
mov dword [edx], fcn.1000a020
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x6284
mov eax, ecx
sub eax, 0x6284
je 0x1002582b
sub eax, 0x3a
je case.0x100252ec.269
jmp 0x10025831
mov dword [edx], fcn.10008d50
add ecx, 0x3a
cmp ecx, 0x62be
jbe 0x10025817
jmp 0x10025841
mov edx, dword [ebp + 8]
mov ecx, 0xfe4
mov eax, ecx
sub eax, 0xfe4
je 0x1002585a
sub eax, 0x25
je case.0x100252ec.269
jmp 0x10025860
mov dword [edx], 0x1000a1c0
add ecx, 0x25
cmp ecx, 0x1009
jbe 0x10025846
jmp 0x10025870
mov edx, dword [ebp + 8]
mov ecx, 0x6d59
mov eax, ecx
sub eax, 0x6d59
je 0x10025889
sub eax, 9
je case.0x100252ec.269
jmp 0x1002588f
mov dword [edx], fcn.10005b30
add ecx, 9
cmp ecx, 0x6d62
jbe 0x10025875
jmp 0x1002589f
mov edx, dword [ebp + 8]
mov eax, 0x334e
cmp eax, eax
je 0x100258b4
add eax, 0x25
cmp eax, 0x334e
jbe 0x100258a6
jmp 0x100258c2
mov dword [edx], fcn.10006a40
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov eax, 0x7ee7
cmp eax, eax
je 0x100258d7
add eax, 0x5f
cmp eax, 0x7ee7
jbe 0x100258c9
jmp 0x100258e5
mov dword [edx], 0x10008e70
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x21b
lea edi, [edi]
mov eax, ecx
sub eax, 0x21b
je 0x10025904
sub eax, 0x57
je case.0x100252ec.269
jmp 0x1002590a
mov dword [edx], fcn.10005720
add ecx, 0x57
cmp ecx, 0x272
jbe 0x100258f0
jmp 0x1002591a
mov edx, dword [ebp + 8]
mov ecx, 0x7d0d
nop
mov eax, ecx
sub eax, 0x7d0d
je 0x10025932
dec eax
je case.0x100252ec.269
jmp 0x10025938
mov dword [edx], fcn.10005720
inc ecx
cmp ecx, 0x7d0e
jbe 0x10025920
jmp 0x10025946
mov edx, dword [ebp + 8]
mov eax, 0x66d6
cmp eax, eax
je 0x1002595b
add eax, 0x37
cmp eax, 0x66d6
jbe 0x1002594d
jmp 0x10025969
mov dword [edx], fcn.1000af10
jmp case.0x100252ec.269
mov edx, dword [ebp + 8]
mov ecx, 0x1b4b
mov esi, esi
mov eax, ecx
sub eax, 0x1b4b
je 0x10025980
sub eax, 0x34
je case.0x100252ec.269
jmp 0x10025986
mov dword [edx], fcn.10007c80
add ecx, 0x34
cmp ecx, 0x1b7f
jbe 0x10025970
mov dword [esp + 0x40], 0x74f3
mov eax, dword [esp + 0x40]
add eax, 0x1b
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x3c]
jbe 0x100244f2
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret