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

Disassembly:
push 0xffffffffffffffff
push 0x52ca2f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1e4
push ebx
push ebp
mov dword [esp + 0x40], ecx
push esi
push edi
lea ecx, [esp + 0x28]
call fcn.004f8480
xor ebx, ebx
lea ecx, [esp + 0x1c]
push ebx
mov dword [esp + 0x200], ebx
call fcn.004f5870
push ebx
lea ecx, [esp + 0x40]
mov byte [esp + 0x200], 1
call fcn.004f5870
push ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x200], 2
call fcn.004f5870
mov dword [esp + 0x74], 0x530160
mov word [esp + 0x78], 0xffff
mov word [esp + 0x7a], bx
mov byte [esp + 0x1fc], 4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54997c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549974
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54996c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549964
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54995c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549954
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54994c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
mov ecx, dword [0x5540a8]
lea eax, [esp + 0x74]
push eax
call fcn.004fa550
cmp ax, 0xffff
je 0x4e479b
movsx eax, word [esp + 0x78]
cmp eax, 5
ja case.default.0x4e2ba9
jmp dword [eax*4 + 0x4e4818]
mov cl, byte [esp + 0x13]
sub esp, 0x10
mov edx, esp
mov edi, str.ffffffffffffffffffffffffffffffff
xor eax, eax
mov dword [esp + 0x30], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ffffffffffffffffffffffffffffffff
mov ecx, edx
call fcn.00401510
sub esp, 0x10
lea edx, [esp + 0x89]
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
push str.00000000000000000000000000000000
mov byte [esp + 0x224], 5
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xa2]
mov ecx, esp
mov dword [esp + 0x90], esp
push eax
push 0x548f04
mov byte [esp + 0x234], 6
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x9c], esp
push edx
push 0x554048
mov byte [esp + 0x244], 7
call fcn.00401030
push ecx
mov byte [esp + 0x240], 8
mov ecx, esp
mov dword [esp + 0x5c], esp
push 6
push 0x549974
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 9
mov ecx, esp
mov dword [esp + 0x5c], esp
push 6
push 0x549944
call fcn.004f58e0
lea eax, [esp + 0x1c4]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x248], 4
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x2c], cx
push ebx
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x208], 0xa
call fcn.004011e0
mov eax, dword [esp + 0x184]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e2cf7
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x4e2cee
cmp cl, 0xff
je 0x4e2cee
dec cl
mov byte [eax], cl
jmp 0x4e2cf7
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea eax, [esp + 0x13c]
lea ecx, [esp + 0x28]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x140]
cmp edx, 0x20
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e2d63
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e2d5a
cmp al, 0xff
je 0x4e2d5a
dec al
mov byte [ecx], al
jmp 0x4e2d63
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x140], ebx
cmp al, bl
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
push ebx
je 0x4e2dc8
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0xb
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54993c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
jmp case.default.0x4e2ba9
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0xc
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 0x16
push 0x548edc
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov cl, byte [0x554048]
mov edi, dword [esp + 0x48]
mov byte [esp + 0x50], cl
mov word [esp + 0x51], bx
mov byte [esp + 0x13], bl
xor esi, esi
lea edx, [esp + 0x10c]
lea ecx, [esp + 0x28]
push edx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e2e4f
mov eax, 0x530164
movsx eax, byte [eax + esi]
push eax
lea ecx, [esp + 0x54]
push 0x5482ac
push ecx
call fcn.0051497a
mov eax, dword [esp + 0x11c]
add esp, 0xc
cmp eax, ebx
je 0x4e2e8e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e2e85
cmp al, 0xff
je 0x4e2e85
dec al
mov byte [ecx], al
jmp 0x4e2e8e
push ecx
call fcn.00514140
add esp, 4
lea edx, [esp + 0x9c]
lea ecx, [esp + 0x28]
push edx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e2ec0
mov eax, 0x530164
movsx eax, byte [eax + esi + 1]
push eax
lea ecx, [esp + 0x55]
push 0x5482ac
push ecx
call fcn.0051497a
mov eax, dword [esp + 0xac]
add esp, 0xc
cmp eax, ebx
je 0x4e2f00
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e2ef7
cmp al, 0xff
je 0x4e2ef7
dec al
mov byte [ecx], al
jmp 0x4e2f00
push ecx
call fcn.00514140
add esp, 4
lea edx, [esp + 0x50]
mov ecx, edi
push edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
call fcn.00491a40
push eax
mov al, byte [esp + 0x17]
shr al, 1
xor cx, cx
mov cl, al
add ecx, 5
push ecx
lea ecx, [esp + 0x24]
call fcn.004f5c80
mov al, byte [esp + 0x13]
add esi, 2
add al, 2
cmp al, 0x20
mov byte [esp + 0x13], al
jb 0x4e2e32
push 6
push 0x548ed4
lea ecx, [esp + 0x2c]
call fcn.004f5de0
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
call fcn.004d3100
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x44]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0xd
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e2fec
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0xe
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0xf
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
mov al, byte [esp + 0x40]
sub esp, 0x10
mov edx, esp
mov edi, 0x548ec8
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x548ec8
mov ecx, edx
call fcn.00401510
sub esp, 0x10
lea edx, [esp + 0x93]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
push 0x548ec4
mov byte [esp + 0x224], 0x10
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
push 0x548f04
mov byte [esp + 0x234], 0x11
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x81]
mov ecx, esp
mov dword [esp + 0xa0], esp
push edx
push 0x554048
mov byte [esp + 0x244], 0x12
call fcn.00401030
push ecx
mov byte [esp + 0x240], 0x13
mov ecx, esp
mov dword [esp + 0x9c], esp
push 6
push 0x54996c
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 0x14
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54991c
call fcn.004f58e0
lea eax, [esp + 0x1ec]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x248], 4
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x2c], cx
push ebx
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x208], 0x15
call fcn.004011e0
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e3161
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x4e3158
cmp cl, 0xff
je 0x4e3158
dec cl
mov byte [eax], cl
jmp 0x4e3161
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x28]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x80]
cmp edx, 2
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e31ca
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e31c1
cmp al, 0xff
je 0x4e31c1
dec al
mov byte [ecx], al
jmp 0x4e31ca
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x80], ebx
cmp al, bl
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
push ebx
je 0x4e3211
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x16
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4e2da5
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x17
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 7
push 0x548eb4
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov cl, byte [0x554048]
lea edx, [esp + 0xbc]
mov byte [esp + 0x4c], cl
push edx
lea ecx, [esp + 0x2c]
mov word [esp + 0x51], bx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e328e
mov eax, 0x530164
movsx eax, byte [eax]
push eax
lea ecx, [esp + 0x50]
push 0x5482ac
push ecx
call fcn.0051497a
mov eax, dword [esp + 0xcc]
add esp, 0xc
cmp eax, ebx
je 0x4e32cc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e32c3
cmp al, 0xff
je 0x4e32c3
dec al
mov byte [ecx], al
jmp 0x4e32cc
push ecx
call fcn.00514140
add esp, 4
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x28]
push edx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e32fe
mov eax, 0x530164
movsx eax, byte [eax + 1]
push eax
lea ecx, [esp + 0x51]
push 0x5482ac
push ecx
call fcn.0051497a
mov eax, dword [esp + 0x16c]
add esp, 0xc
cmp eax, ebx
je 0x4e333d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3334
cmp al, 0xff
je 0x4e3334
dec al
mov byte [ecx], al
jmp 0x4e333d
push ecx
call fcn.00514140
add esp, 4
mov esi, dword [esp + 0x48]
lea edx, [esp + 0x4c]
push edx
mov ecx, esi
mov dword [esp + 0x164], ebx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
call fcn.00491a40
push eax
push 5
lea ecx, [esp + 0x24]
call fcn.004f5c80
push 6
push 0x548eac
lea ecx, [esp + 0x2c]
call fcn.004f5de0
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.004d3100
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x44]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0x18
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e340b
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x19
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x1a
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
mov al, byte [esp + 0x41]
sub esp, 0x10
mov ebp, esp
mov edi, str.zzzzzzzzzzzzzzzzz
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [ebp], al
xor eax, eax
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
push ecx
mov ecx, ebp
call fcn.004016f0
test al, al
je 0x4e3494
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, str.zzzzzzzzzzzzzzzzz
mov edx, ecx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004016d0
sub esp, 0x10
lea eax, [esp + 0x8a]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.00000000000000000
mov byte [esp + 0x224], 0x1b
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x9c]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
push 0x548e80
mov byte [esp + 0x234], 0x1c
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x82]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
push 0x554048
mov byte [esp + 0x244], 0x1d
call fcn.00401030
push ecx
mov byte [esp + 0x240], 0x1e
mov ecx, esp
mov dword [esp + 0x9c], esp
push 6
push 0x549964
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 0x1f
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x549914
call fcn.004f58e0
lea ecx, [esp + 0x214]
mov byte [esp + 0x244], 4
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov ecx, dword [0x530168]
mov dx, word [eax]
push ecx
add eax, 4
push ebx
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x208], 0x20
mov word [esp + 0x34], dx
call fcn.004011e0
mov eax, dword [esp + 0x1d4]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e35aa
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x4e35a1
cmp cl, 0xff
je 0x4e35a1
dec cl
mov byte [eax], cl
jmp 0x4e35aa
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea edx, [esp + 0xdc]
lea ecx, [esp + 0x28]
push edx
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xe0]
cmp edx, 0x11
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e3616
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e360d
cmp al, 0xff
je 0x4e360d
dec al
mov byte [ecx], al
jmp 0x4e3616
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xe0], ebx
cmp al, bl
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
push ebx
je 0x4e365d
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x21
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4e2da5
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x22
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 0x17
push 0x548e60
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov byte [esp + 0x13], bl
xor esi, esi
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x28]
push eax
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x1fc], 0x23
cmp eax, ebx
jne 0x4e36d9
mov eax, 0x530164
movzx dx, byte [esp + 0x13]
mov cl, byte [esi + eax]
add edx, 5
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004f5c80
mov eax, dword [esp + 0x130]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e3720
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3717
cmp al, 0xff
je 0x4e3717
dec al
mov byte [ecx], al
jmp 0x4e3720
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x130], ebx
inc al
inc esi
cmp al, 0x11
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov byte [esp + 0x13], al
jb 0x4e36b4
push 6
push 0x548e58
lea ecx, [esp + 0x2c]
call fcn.004f5de0
mov esi, dword [esp + 0x48]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.004d3100
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x44]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0x24
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e37e9
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x25
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x26
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
mov al, byte [esp + 0x42]
sub esp, 0x10
mov ebp, esp
mov edi, str.zzzzzzzzzz
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [ebp], al
xor eax, eax
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
push ecx
mov ecx, ebp
call fcn.004016f0
test al, al
je 0x4e3874
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, str.zzzzzzzzzz
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 4]
mov dword [ebp + 8], eax
add eax, ecx
mov byte [eax], bl
sub esp, 0x10
lea eax, [esp + 0x8f]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.0000000000
mov byte [esp + 0x224], 0x27
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x9b]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
push 0x548e80
mov byte [esp + 0x234], 0x28
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x83]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
push 0x554048
mov byte [esp + 0x244], 0x29
call fcn.00401030
push ecx
mov byte [esp + 0x240], 0x2a
mov ecx, esp
mov dword [esp + 0x9c], esp
push 6
push 0x54995c
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 0x2b
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54990c
call fcn.004f58e0
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x244], 4
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov dx, word [eax]
mov ecx, dword [0x530168]
lea esi, [eax + 4]
mov word [esp + 0x28], dx
mov byte [esp + 0x1fc], 0x2c
mov eax, dword [esi + 8]
mov ebp, eax
cmp ecx, ebp
jae 0x4e395a
mov ebp, ecx
lea edx, [esp + 0x2c]
cmp edx, esi
jne 0x4e397d
push ecx
push ebp
lea ecx, [esp + 0x34]
call fcn.004015b0
push ebx
push ebx
lea ecx, [esp + 0x34]
call fcn.004015b0
jmp 0x4e3a04
cmp ebp, ebx
jbe 0x4e39ca
cmp ebp, eax
jne 0x4e39ca
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e3991
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x4e39ca
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e39ae
mov eax, 0x530164
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x38], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4e3a04
push 1
push ebp
lea ecx, [esp + 0x34]
call fcn.004016f0
test al, al
je 0x4e3a04
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x4e39e6
mov esi, 0x530164
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
call fcn.004016d0
mov eax, dword [esp + 0x198]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e3a34
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3a2b
cmp al, 0xff
je 0x4e3a2b
dec al
mov byte [ecx], al
jmp 0x4e3a34
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x2c]
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x100]
cmp edx, 0xa
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e3aa0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3a97
cmp al, 0xff
je 0x4e3a97
dec al
mov byte [ecx], al
jmp 0x4e3aa0
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x100], ebx
cmp al, bl
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
push ebx
je 0x4e3ae7
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x2d
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4e2da5
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x2e
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 0x10
push 0x548e24
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov byte [esp + 0x13], bl
xor esi, esi
lea edx, [esp + 0x14c]
lea ecx, [esp + 0x28]
push edx
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x1fc], 0x2f
cmp eax, ebx
jne 0x4e3b63
mov eax, 0x530164
movzx cx, byte [esp + 0x13]
mov al, byte [esi + eax]
add ecx, 5
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004f5c80
mov eax, dword [esp + 0x150]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e3baa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3ba1
cmp al, 0xff
je 0x4e3ba1
dec al
mov byte [ecx], al
jmp 0x4e3baa
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x150], ebx
inc al
inc esi
cmp al, 0xa
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov byte [esp + 0x13], al
jb 0x4e3b3e
push 6
push 0x548e1c
lea ecx, [esp + 0x2c]
call fcn.004f5de0
mov esi, dword [esp + 0x48]
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.004d3100
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x44]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0x30
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e3c73
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x31
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x32
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
mov al, byte [esp + 0x43]
sub esp, 0x10
mov ebp, esp
mov edi, str.99999999
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [ebp], al
xor eax, eax
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
push ecx
mov ecx, ebp
call fcn.004016f0
test al, al
je 0x4e3cfe
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, str.99999999
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 4]
mov dword [ebp + 8], eax
add eax, ecx
mov byte [eax], bl
sub esp, 0x10
lea eax, [esp + 0x87]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.00000000
mov byte [esp + 0x224], 0x33
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xa1]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
push 0x548324
mov byte [esp + 0x234], 0x34
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x87]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
push 0x554048
mov byte [esp + 0x244], 0x35
call fcn.00401030
push ecx
mov byte [esp + 0x240], 0x36
mov ecx, esp
mov dword [esp + 0x9c], esp
push 6
push 0x549954
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 0x37
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x549904
call fcn.004f58e0
lea ecx, [esp + 0x200]
mov byte [esp + 0x244], 4
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov dx, word [eax]
mov ecx, dword [0x530168]
lea esi, [eax + 4]
mov word [esp + 0x28], dx
mov byte [esp + 0x1fc], 0x38
mov eax, dword [esi + 8]
mov ebp, eax
cmp ecx, ebp
jae 0x4e3de4
mov ebp, ecx
lea edx, [esp + 0x2c]
cmp edx, esi
jne 0x4e3e07
push ecx
push ebp
lea ecx, [esp + 0x34]
call fcn.004015b0
push ebx
push ebx
lea ecx, [esp + 0x34]
call fcn.004015b0
jmp 0x4e3e8f
cmp ebp, ebx
jbe 0x4e3e54
cmp ebp, eax
jne 0x4e3e54
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e3e1b
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x4e3e54
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e3e38
mov eax, 0x530164
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x38], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4e3e8f
push 1
push ebp
lea ecx, [esp + 0x34]
call fcn.004016f0
test al, al
je 0x4e3e8f
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x4e3e70
mov esi, 0x530164
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
mov byte [ecx + ebp], bl
mov eax, dword [esp + 0x1c0]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e3ebf
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3eb6
cmp al, 0xff
je 0x4e3eb6
dec al
mov byte [ecx], al
jmp 0x4e3ebf
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea edx, [esp + 0x11c]
lea ecx, [esp + 0x28]
push edx
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x120]
cmp edx, 8
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e3f2b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e3f22
cmp al, 0xff
je 0x4e3f22
dec al
mov byte [ecx], al
jmp 0x4e3f2b
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x120], ebx
cmp al, bl
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
push ebx
je 0x4e3f72
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x39
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4e2da5
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x3a
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 0xa
push 0x548df0
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov al, byte [0x554048]
mov edi, dword [esp + 0x48]
mov byte [esp + 0x54], al
mov word [esp + 0x55], bx
mov byte [esp + 0x13], bl
xor esi, esi
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0x2c]
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e3ff8
mov eax, 0x530164
movsx edx, byte [esi + eax]
push edx
lea eax, [esp + 0x58]
push 0x5482ac
push eax
call fcn.0051497a
mov eax, dword [esp + 0x17c]
add esp, 0xc
cmp eax, ebx
je 0x4e4037
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e402e
cmp al, 0xff
je 0x4e402e
dec al
mov byte [ecx], al
jmp 0x4e4037
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x8c]
mov dword [esp + 0x170], ebx
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e4069
mov eax, 0x530164
movsx edx, byte [esi + eax + 1]
push edx
lea eax, [esp + 0x59]
push 0x5482ac
push eax
call fcn.0051497a
mov eax, dword [esp + 0x9c]
add esp, 0xc
cmp eax, ebx
je 0x4e40a9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e40a0
cmp al, 0xff
je 0x4e40a0
dec al
mov byte [ecx], al
jmp 0x4e40a9
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x90], ebx
push ecx
mov ecx, edi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
call fcn.00491a40
mov dl, byte [esp + 0x13]
push eax
shr dl, 1
xor ax, ax
lea ecx, [esp + 0x20]
mov al, dl
add eax, 5
push eax
call fcn.004f5c80
mov al, byte [esp + 0x13]
add esi, 2
add al, 2
cmp al, 8
mov byte [esp + 0x13], al
jb 0x4e3fdb
push 6
push 0x548de8
lea ecx, [esp + 0x2c]
call fcn.004f5de0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.004d3100
lea edx, [esp + 0x24]
mov ecx, edi
push edx
call fcn.004d3100
push 1
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.004f5850
lea ecx, [esp + 0x44]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0x3b
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e4195
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x3c
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x3d
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
mov al, byte [esp + 0x47]
sub esp, 0x10
mov ebp, esp
mov edi, 0x548ec8
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [ebp], al
xor eax, eax
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebp
mov dword [esp + 0x30], esi
call fcn.00401a70
cmp eax, esi
jae 0x4e41fe
call fcn.0051414b
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x4e4223
mov al, byte [ecx - 1]
cmp al, bl
je 0x4e4223
cmp al, 0xff
je 0x4e4223
cmp esi, ebx
jne 0x4e4247
dec al
push ebx
mov byte [ecx - 1], al
mov ecx, ebp
call fcn.004013e0
jmp 0x4e4275
cmp esi, ebx
jne 0x4e4232
push 1
mov ecx, ebp
call fcn.004013e0
jmp 0x4e4275
mov eax, dword [ebp + 0xc]
cmp eax, 0x1f
ja 0x4e423e
cmp eax, esi
jae 0x4e424f
push 1
mov ecx, ebp
call fcn.004013e0
push esi
mov ecx, ebp
call fcn.00401a80
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, 0x548ec8
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 4]
mov dword [ebp + 8], eax
add eax, ecx
mov byte [eax], bl
sub esp, 0x10
lea eax, [esp + 0x8e]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push 0x548ec4
mov byte [esp + 0x224], 0x3e
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xa0]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
push 0x548f04
mov byte [esp + 0x234], 0x3f
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xad]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
push 0x554048
mov byte [esp + 0x244], 0x40
call fcn.00401030
push ecx
mov byte [esp + 0x240], 0x41
mov ecx, esp
mov dword [esp + 0x9c], esp
push 6
push 0x54994c
call fcn.004f58e0
push ecx
mov byte [esp + 0x244], 0x42
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x5498fc
call fcn.004f58e0
lea ecx, [esp + 0x228]
mov byte [esp + 0x244], 4
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov dx, word [eax]
mov edi, dword [0x530168]
lea esi, [eax + 4]
mov word [esp + 0x28], dx
mov byte [esp + 0x1fc], 0x43
mov eax, dword [esi + 8]
mov ebp, eax
cmp edi, ebp
jae 0x4e435b
mov ebp, edi
lea ecx, [esp + 0x2c]
cmp ecx, esi
jne 0x4e43cb
cmp dword [esp + 0x34], ebp
jae 0x4e436e
call fcn.00514377
lea ecx, [esp + 0x2c]
call fcn.00401b90
mov eax, dword [esp + 0x34]
sub eax, ebp
cmp eax, edi
jae 0x4e4383
mov edi, eax
cmp edi, ebx
jbe 0x4e43bd
mov edx, dword [esp + 0x30]
sub eax, edi
push eax
lea ecx, [edx + ebp]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00514aa0
mov esi, dword [esp + 0x40]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x2c]
push ebx
push esi
call fcn.004016f0
test al, al
je 0x4e43bd
push esi
lea ecx, [esp + 0x30]
call fcn.004016d0
lea ecx, [esp + 0x2c]
call fcn.00401b90
jmp 0x4e4453
cmp ebp, ebx
jbe 0x4e4418
cmp ebp, eax
jne 0x4e4418
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e43df
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x4e4418
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x4e43fc
mov eax, 0x530164
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x38], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4e4453
push 1
push ebp
lea ecx, [esp + 0x34]
call fcn.004016f0
test al, al
je 0x4e4453
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x4e4434
mov esi, 0x530164
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
mov byte [ecx + ebp], bl
mov eax, dword [esp + 0x1e8]
mov byte [esp + 0x1fc], 4
cmp eax, ebx
je 0x4e4483
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e447a
cmp al, 0xff
je 0x4e447a
dec al
mov byte [ecx], al
jmp 0x4e4483
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1f0], ebx
call fcn.004f86d0
cmp ax, 2
je case.default.0x4e2ba9
lea edx, [esp + 0xac]
lea ecx, [esp + 0x28]
push edx
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xb0]
cmp edx, 2
setne byte [esp + 0x13]
cmp eax, ebx
je 0x4e44ef
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e44e6
cmp al, 0xff
je 0x4e44e6
dec al
mov byte [ecx], al
jmp 0x4e44ef
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xb0], ebx
cmp al, bl
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
push ebx
je 0x4e4536
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x44
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4e2da5
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x45
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549934
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x20c], 4
call fcn.004f91a0
push 7
push 0x548dd8
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov al, byte [0x554048]
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x48], al
mov word [esp + 0x49], bx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e45b2
mov eax, 0x530164
movsx edx, byte [eax]
push edx
lea eax, [esp + 0x48]
push 0x5482ac
push eax
call fcn.0051497a
mov eax, dword [esp + 0xdc]
add esp, 0xc
cmp eax, ebx
je 0x4e45f0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e45e7
cmp al, 0xff
je 0x4e45e7
dec al
mov byte [ecx], al
jmp 0x4e45f0
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0xec]
mov dword [esp + 0xd0], ebx
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4e4622
mov eax, 0x530164
movsx edx, byte [eax + 1]
push edx
lea eax, [esp + 0x49]
push 0x5482ac
push eax
call fcn.0051497a
mov eax, dword [esp + 0xfc]
add esp, 0xc
cmp eax, ebx
je 0x4e4661
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e4658
cmp al, 0xff
je 0x4e4658
dec al
mov byte [ecx], al
jmp 0x4e4661
push ecx
call fcn.00514140
add esp, 4
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
call fcn.00491a40
push eax
push 5
lea ecx, [esp + 0x24]
call fcn.004f5c80
lea edx, [esp + 0x44]
mov ecx, esi
push edx
call fcn.00491a40
test al, al
jne 0x4e46d3
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x46
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5498f4
jmp 0x4e2dac
push 6
push 0x548dd0
lea ecx, [esp + 0x2c]
call fcn.004f5de0
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.004d3100
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x44]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x210], 0x47
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x20c], 4
call fcn.004d5e20
push ebx
push 1
push ecx
cmp al, bl
mov ecx, esp
jne 0x4e4770
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x48
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54992c
jmp 0x4e2dac
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x20c], 0x49
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549924
jmp 0x4e2dac
lea ecx, [esp + 0x24]
mov dword [esp + 0x74], 0x530160
mov byte [esp + 0x1fc], 2
call fcn.004f5980
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1fc], 1
call fcn.004f5980
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1fc], bl
call fcn.004f5980
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4e47fa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4e47f1
cmp al, 0xff
je 0x4e47f1
dec al
mov byte [ecx], al
jmp 0x4e47fa
push ecx
call fcn.00514140
add esp, 4
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
xor ax, ax
mov dword fs:[0], ecx
pop ebx
add esp, 0x1f0
ret