Function at 0x4dd3c0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x60842d
mov eax, dword fs:[0]
push eax
sub esp, 0x4e8
mov eax, dword [0x6687b8]
xor eax, esp
mov dword [esp + 0x4e0], eax
push ebx
push esi
push edi
mov eax, dword [0x6687b8]
xor eax, esp
push eax
lea eax, [esp + 0x4f8]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebx + 0xdc]
test eax, eax
mov dword [esp + 0x18], ebx
jbe 0x4dda27
cmp dword [ebx + 0x94], 0
jbe 0x4ddad2
mov eax, dword [0x677600]
mov edx, dword [eax + 0xc]
mov ecx, 0x677600
call edx
add eax, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x500], 0
mov eax, dword [0x677600]
mov edx, dword [eax + 0xc]
mov ecx, 0x677600
call edx
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [ebx + 0xd8]
mov byte [esp + 0x500], 1
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x4c], ecx
je 0x4dd48b
mov edx, dword [ecx + 0x14]
cmp eax, edx
je 0x4dd48b
mov ecx, eax
mov eax, dword [eax + 0xc]
cmp eax, edx
je 0x4dd48d
mov ecx, eax
mov eax, dword [ecx + 0xc]
cmp eax, edx
jne 0x4dd480
jmp 0x4dd48d
xor ecx, ecx
test ecx, ecx
mov dword [esp + 0x20], ecx
je 0x4dd9d4
lea eax, [ebx + 0x90]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
push ecx
mov esi, eax
call fcn.004c5840
mov esi, dword [esi]
mov dword [esp + 0x20], eax
mov eax, 0x10624dd3
mul esi
mov edi, edx
mov edx, dword [esp + 0x34]
shr edi, 6
call fcn.004dec00
test eax, eax
mov dword [esp + 0x2c], eax
push esi
jne 0x4dd4eb
push str.lost_lemma:__u
mov ecx, ebx
call fcn.004c6880
add esp, 8
jmp 0x4dd9c9
mov edx, dword [esp + 0x1c]
imul edi, edi, 0x3e8
mov eax, esi
sub eax, edi
add edx, 0x34
mov dword [esp + 0x18], eax
call fcn.004daeb0
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x38], ebx
jne 0x4dd526
mov ecx, dword [esp + 0x18]
push esi
push str.lost_freq:__u
call fcn.004c6880
add esp, 8
jmp 0x4dd9c5
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 4]
lea eax, [esp + 0x1f]
push eax
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x38], 0
mov byte [esp + 0x2f], 0
call fcn.004db220
test eax, eax
jge 0x4dd572
mov ecx, dword [esp + 0x18]
push esi
push str.no_record:__u
call fcn.004c6880
add esp, 8
jmp 0x4dd9c5
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
add eax, eax
push eax
xor eax, eax
call fcn.00405890
add esp, 4
cmp eax, dword [ebx]
je 0x4dd5a1
mov ecx, dword [esp + 0x18]
push esi
push str.crc_checksum_error:__u
call fcn.004c6880
add esp, 8
jmp 0x4dd9c5
push 0x7e
lea ecx, [esp + 0x72]
push 0
push ecx
mov word [esp + 0x78], 0
call fcn.005da970
mov eax, dword [esp + 0x3c]
add esp, 0xc
lea edx, [esp + 0x6c]
push 0x40
push edx
lea edi, [esp + 0x48]
call fcn.00510e30
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
mov al, byte [esp + 0x27]
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0x110]
movzx ebx, word [ebx + 4]
add esp, 8
neg al
mov esi, edi
mov dword [esp + 0x2c], ecx
sbb eax, eax
and eax, 0x10
mov dword [esp + 0x3c], eax
call fcn.0051a9f0
test eax, eax
je 0x4dd99f
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
call fcn.0051bd80
test eax, eax
je 0x4dd99f
mov edx, dword [esp + 0x24]
push 0
push edx
push esi
push eax
mov eax, dword [esp + 0x38]
call fcn.00517570
xor esi, esi
cmp eax, esi
je 0x4dd99f
mov eax, dword [edi + 8]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x44]
push edx
mov dword [esp + 0x1c], esi
call fcn.00521190
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4dd980
mov ecx, dword [edi + 8]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], esi
push edx
lea esi, [esp + 0x44]
call fcn.00521240
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov dword [esp + 0x28], eax
je 0x4dd980
mov eax, dword [edi + 8]
push 2
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x34]
push 0
push ebx
push edx
push ecx
push eax
mov dword [esp + 0x38], 0
call fcn.00521330
mov ebx, dword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0x28], eax
je 0x4dd980
mov al, byte [ebx + 0xd]
mov dl, byte [ebx + 0xe]
mov cl, al
or cl, al
mov byte [ebx + 0xd], cl
cmp dword [edi + 0x28], 0
lea ecx, [edi + 0x28]
mov dword [esp + 0x14], ecx
je 0x4dd980
cmp dword [esp + 0x28], 1
jne 0x4dd6f5
cmp al, byte [ebx + 0xd]
jne 0x4dd6f5
cmp dl, byte [ebx + 0xe]
je 0x4dd998
cmp dword [ebx + 4], 0xffffffff
jne 0x4dd7da
xor eax, eax
mov dword [esp + 0x56], eax
mov dword [esp + 0x5e], eax
mov word [esp + 0x62], ax
mov dword [esp + 0x5a], eax
mov word [esp + 0x54], 0
mov edx, dword [ebx + 8]
mov dword [esp + 0x58], edx
movzx eax, byte [ebx + 0xe]
mov byte [esp + 0x61], al
movzx ecx, byte [ebx + 0xd]
mov al, byte [esp + 0x40]
mov byte [esp + 0x62], al
movzx ax, al
mov byte [esp + 0x60], cl
mov cl, byte [ebx + 0xf]
movzx dx, cl
add ax, 8
add ax, ax
add dx, dx
add ax, dx
push 0
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0x18]
push 0
push eax
mov edx, 2
mov byte [esp + 0x6f], cl
mov word [esp + 0x60], 0x7747
call fcn.00433e80
test eax, eax
jl 0x4dd980
mov ecx, dword [esp + 0x14]
xor esi, esi
lea edi, [esp + 0x64]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
call fcn.0051ac00
cmp eax, esi
jl 0x4dd980
mov esi, dword [esp + 0x14]
push esi
mov ecx, 0x10
lea edx, [esp + 0x58]
call fcn.00433ec0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add ecx, ecx
push esi
call fcn.00433ec0
movzx ecx, byte [esp + 0x2c]
mov edx, dword [esp + 0x24]
add ecx, ecx
push esi
call fcn.00433ec0
mov ecx, dword [esp + 0x64]
mov dword [ebx + 4], ecx
jmp 0x4dd980
push 0x3ff
lea edx, [esp + 0xf1]
push 0
push edx
mov byte [esp + 0xf8], 0
call fcn.005da970
movzx ax, byte [ebx + 0xf]
movzx cx, byte [esp + 0x4c]
mov edx, dword [ebx + 4]
add ax, cx
add esp, 0xc
add ax, 8
add ax, ax
push 0
movzx edi, ax
mov eax, dword [esp + 0x18]
push edx
push eax
xor edx, edx
call fcn.00433e80
mov edx, dword [esp + 0x14]
movzx esi, di
lea ecx, [esp + 0xec]
call fcn.00417460
cmp word [esp + 0xec], 0x7747
mov al, byte [esp + 0xfa]
movzx ecx, al
lea edx, [esp + ecx*2 + 0xfc]
mov dword [esp + 0x3c], edx
jne 0x4dd980
cmp word [esp + 0xee], di
jb 0x4dd980
cmp al, byte [esp + 0x40]
jne 0x4dd980
mov cl, byte [ebx + 0xf]
mov al, byte [esp + 0xfb]
cmp al, cl
mov byte [esp + 0x1f], cl
jne 0x4dd980
mov ecx, dword [esp + 0x44]
movzx eax, al
add eax, eax
cmp eax, 4
lea esi, [esp + 0xfc]
jb 0x4dd8b4
mov edi, edi
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x4dd8b8
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4dd8a0
test eax, eax
je 0x4dd915
movzx edx, byte [esi]
movzx edi, byte [ecx]
sub edx, edi
jne 0x4dd907
sub eax, 1
add ecx, 1
add esi, 1
test eax, eax
je 0x4dd915
movzx edx, byte [esi]
movzx edi, byte [ecx]
sub edx, edi
jne 0x4dd907
sub eax, 1
add ecx, 1
add esi, 1
test eax, eax
je 0x4dd915
movzx edx, byte [esi]
movzx edi, byte [ecx]
sub edx, edi
jne 0x4dd907
sub eax, 1
add ecx, 1
add esi, 1
test eax, eax
je 0x4dd915
movzx edx, byte [esi]
movzx eax, byte [ecx]
sub edx, eax
je 0x4dd915
test edx, edx
mov eax, 1
jg 0x4dd917
or eax, 0xffffffff
jmp 0x4dd917
xor eax, eax
test eax, eax
jne 0x4dd980
movzx ecx, byte [esp + 0x1f]
mov eax, dword [esp + 0x3c]
push ecx
lea edx, [ebx + 0x10]
push edx
push eax
call fcn.005d5260
add esp, 0xc
test eax, eax
jne 0x4dd980
mov ecx, dword [ebx + 8]
mov dword [esp + 0xf0], ecx
mov dl, byte [ebx + 0xe]
mov byte [esp + 0xf9], dl
mov al, byte [ebx + 0xd]
mov edx, dword [esp + 0x14]
mov byte [esp + 0xf8], al
mov ecx, dword [ebx + 4]
push 0
push ecx
push edx
xor edx, edx
call fcn.00433e80
test eax, eax
jl 0x4dd980
mov eax, dword [esp + 0x14]
push eax
mov ecx, 0x10
lea edx, [esp + 0xf0]
call fcn.00433ec0
mov ecx, dword [esp + 0x28]
cmp ecx, 1
jle 0x4dd994
mov eax, dword [esp + 0x18]
add dword [eax + 0x118], 1
test ecx, ecx
je 0x4dd99f
mov eax, str.successed
jmp 0x4dd9a4
mov eax, str.failed
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx + 4]
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
push ecx
push str.Add:__s__s__u__s.
call fcn.00403a00
add esp, 0x14
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x20], 0
jne 0x4dd4a3
mov byte [esp + 0x500], 0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4dd9fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x500], 0xffffffff
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dda27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx + 0x94], 0
jbe 0x4ddad2
mov ecx, dword [ebx + 0x90]
test ecx, ecx
je 0x4dda5b
mov edx, dword [ebx + 0xa4]
cmp ecx, edx
je 0x4dda5b
mov eax, dword [ecx + 0x10]
cmp eax, edx
je 0x4dda5d
nop
mov ecx, eax
mov eax, dword [ecx + 0x10]
cmp eax, edx
jne 0x4dda50
jmp 0x4dda5d
xor ecx, ecx
cmp dword [ebx + 0x40], 0x10
mov edi, dword [ecx]
lea esi, [ebx + 0x34]
jb 0x4dda6d
mov eax, dword [esi + 4]
jmp 0x4dda70
lea eax, [esi + 0x18]
mov edx, dword [eax + 0xc]
mov eax, 0x10624dd3
mul edx
shr edx, 6
cmp edi, edx
jne 0x4ddad2
cmp dword [esi + 0xc], 0x10
mov ebx, dword [ecx + 4]
jb 0x4dda8f
mov eax, dword [esi + 4]
jmp 0x4dda92
lea eax, [esi + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
imul edx, edx, 0x3e8
sub ecx, edx
jne 0x4ddaae
mov ecx, 0x3e8
movzx eax, word [ebx + 0xc]
cmp eax, ecx
je 0x4ddad2
jbe 0x4ddabf
push ecx
push ebx
call fcn.004db580
movzx ecx, word [ebx + 0xc]
imul edi, edi, 0x3e8
add edi, ecx
mov eax, esi
call fcn.004daf20
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x60]
add edi, 0x60
test eax, eax
mov dword [esp + 0x14], edi
je 0x4ddaff
mov edx, dword [edi + 0x14]
cmp eax, edx
je 0x4ddaff
mov ecx, eax
mov eax, dword [eax + 0x18]
cmp eax, edx
je 0x4ddb01
mov ecx, eax
mov eax, dword [ecx + 0x18]
cmp eax, edx
jne 0x4ddaf4
jmp 0x4ddb01
xor ecx, ecx
test ecx, ecx
mov esi, ecx
je 0x4ddb6b
test esi, esi
mov eax, esi
jne 0x4ddb11
xor esi, esi
jmp 0x4ddb56
mov ecx, dword [esi + 0x1c]
mov edx, dword [edi + 0x14]
cmp ecx, edx
je 0x4ddb33
test ecx, ecx
je 0x4ddb0d
mov esi, ecx
mov ecx, dword [ecx + 0x18]
cmp ecx, edx
je 0x4ddb56
mov esi, ecx
mov ecx, dword [esi + 0x18]
cmp ecx, edx
jne 0x4ddb28
jmp 0x4ddb56
mov ecx, dword [esi + 0x20]
cmp ecx, edx
je 0x4ddb52
lea ebx, [ebx]
cmp esi, dword [ecx + 0x1c]
jne 0x4ddb4e
mov esi, ecx
mov ecx, dword [ecx + 0x20]
cmp ecx, edx
jne 0x4ddb40
cmp ecx, edx
jne 0x4ddb54
xor ecx, ecx
mov esi, ecx
test byte [eax + 0x11], 0x80
je 0x4ddb67
mov ebx, dword [esp + 0x14]
call fcn.004de600
mov edi, ebx
test esi, esi
jne 0x4ddb07
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x64], 0
jbe 0x4ddda2
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x4ddb9c
mov edx, dword [eax + 0x14]
cmp ecx, edx
je 0x4ddb9c
mov eax, dword [ecx + 0x18]
cmp eax, edx
je 0x4ddb9e
mov ecx, eax
mov eax, dword [ecx + 0x18]
cmp eax, edx
jne 0x4ddb91
jmp 0x4ddb9e
xor ecx, ecx
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x4ddda2
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0x90]
add eax, 0x34
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
nop
mov esi, dword [esp + 0x2c]
test esi, esi
mov edi, esi
mov dword [esp + 0x38], edi
je 0x4ddc12
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x1c]
mov ecx, dword [eax + 0x14]
cmp edx, ecx
je 0x4ddbf4
test edx, edx
je 0x4ddc12
mov eax, dword [edx + 0x18]
cmp eax, ecx
je 0x4ddbf0
mov edx, eax
mov eax, dword [edx + 0x18]
cmp eax, ecx
jne 0x4ddbe7
mov eax, edx
jmp 0x4ddc14
mov eax, dword [esi + 0x20]
cmp eax, ecx
je 0x4ddc12
jmp 0x4ddc00
cmp esi, dword [eax + 0x1c]
jne 0x4ddc0e
mov esi, eax
mov eax, dword [eax + 0x20]
cmp eax, ecx
jne 0x4ddc00
cmp eax, ecx
jne 0x4ddc14
xor eax, eax
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc], 0x10
mov dword [esp + 0x3c], ecx
jb 0x4ddc32
mov eax, dword [eax + 4]
jmp 0x4ddc35
add eax, 0x18
mov ecx, dword [eax + 0xc]
mov eax, 0x10624dd3
mul ecx
mov edi, edx
mov edx, dword [esp + 0x34]
shr edi, 6
call fcn.004dec00
test eax, eax
je 0x4ddc5d
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
jmp 0x4ddd34
push 0x7fc
call fcn.005d2776
add esp, 4
test eax, eax
je 0x4ddcb6
xor ecx, ecx
mov dword [eax + 0x7e4], ecx
mov dword [eax + 0x7e8], ecx
mov dword [eax + 0x7ec], ecx
mov dword [eax + 0x7f0], ecx
mov dword [eax + 0x7f4], 0x80
mov byte [eax + 0x7f8], cl
mov dword [eax], 0x53444653
mov word [eax + 4], 0x100
mov dword [eax + 8], ecx
mov word [eax + 0xc], cx
mov byte [eax + 7], cl
mov byte [eax + 6], 0xe
mov ebx, eax
jmp 0x4ddcba
xor ebx, ebx
xor ecx, ecx
cmp ebx, ecx
mov dword [esp + 0x20], ebx
je 0x4ddda2
mov dword [esp + 0x28], 0
mov dword [esp + 0x500], 2
mov ecx, dword [esp + 0x34]
lea esi, [esp + 0x28]
mov eax, edi
call fcn.004de540
mov dword [esp + 0x500], 0xffffffff
mov esi, dword [esp + 0x28]
test esi, esi
mov dword [eax + 4], ebx
je 0x4ddd34
mov eax, dword [esi + 0x7e4]
xor edi, edi
cmp eax, edi
je 0x4ddd2b
push eax
call fcn.005d27e0
add esp, 4
mov dword [esi + 0x7e4], edi
mov dword [esi + 0x7ec], edi
mov dword [esi + 0x7f0], edi
mov dword [esi + 0x7e8], edi
push esi
call fcn.005d2367
add esp, 4
cmp dword [esp + 0x20], 0
je 0x4ddda2
mov esi, dword [esp + 0x38]
movzx ebx, byte [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [eax - 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [ecx - 0xc]
shr bl, 4
and ebx, 0xffffff01
push ebx
mov ebx, dword [esi + 0xc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x30]
push edx
push ecx
push eax
call fcn.004db0e0
test eax, eax
jl 0x4ddd97
mov ecx, dword [esi]
mov dx, word [esp + 0x3c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x24]
mov word [esp + 0x50], dx
lea edx, [esp + 0x4c]
call fcn.004dad70
mov eax, dword [esp + 0x18]
add dword [eax + 0x11c], 1
cmp dword [esp + 0x30], 0
jne 0x4ddbc0
mov edi, dword [esp + 0x14]
call fcn.004da0f0
mov ecx, dword [esp + 0x18]
xor esi, esi
mov dword [ecx + 0xf8], esi
mov dword [ecx + 0xf4], esi
mov eax, dword [ecx + 0x90]
add ecx, 0x90
cmp eax, esi
je 0x4dddeb
mov edx, dword [ecx + 0x14]
cmp eax, edx
je 0x4dddeb
mov ecx, eax
mov eax, dword [eax + 0xc]
cmp eax, edx
je 0x4ddded
lea ecx, [ecx]
mov ecx, eax
mov eax, dword [ecx + 0xc]
cmp eax, edx
jne 0x4ddde0
jmp 0x4ddded
xor ecx, ecx
cmp ecx, esi
mov dword [esp + 0x2c], ecx
je 0x4de04b
mov edx, dword [esp + 0x2c]
test edx, edx
mov esi, edx
mov dword [esp + 0x24], esi
je 0x4dde52
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
add ecx, 0x90
mov ecx, dword [ecx + 0x14]
cmp eax, ecx
je 0x4dde35
test eax, eax
je 0x4dde52
mov edx, eax
mov eax, dword [eax + 0xc]
cmp eax, ecx
je 0x4dde31
mov edx, eax
mov eax, dword [edx + 0xc]
cmp eax, ecx
jne 0x4dde28
mov eax, edx
jmp 0x4dde54
mov eax, dword [edx + 0x14]
cmp eax, ecx
je 0x4dde52
lea esp, [esp]
cmp edx, dword [eax + 0x10]
jne 0x4dde4e
mov edx, eax
mov eax, dword [eax + 0x14]
cmp eax, ecx
jne 0x4dde40
cmp eax, ecx
jne 0x4dde54
xor eax, eax
mov edi, dword [esi + 4]
cmp byte [edi + 0x7f8], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
je 0x4de02d
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
movzx eax, word [edi + 0xc]
movzx edx, byte [edi + 6]
lea esi, [edx + eax*2]
add esi, dword [edi + 8]
mov dword [esp + 0x38], ecx
lea eax, [esi + 0x28]
cmp eax, 0x80
mov dword [esp + 0x20], eax
jge 0x4dde9a
mov dword [esp + 0x20], 0x80
mov ecx, dword [esp + 0x20]
add ecx, esi
push ecx
call fcn.005d1ef5
mov ebx, eax
add esp, 4
mov dword [esp + 0x3c], ebx
test ebx, ebx
lea edx, [ebx + esi]
mov dword [esp + 0x500], 3
mov dword [esp + 0x34], edx
je 0x4de019
push esi
push 0
push ebx
call fcn.005da970
mov eax, dword [edi]
mov dword [ebx], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 4], ecx
mov edx, dword [edi + 8]
mov dword [ebx + 8], edx
mov ax, word [edi + 0xc]
mov word [ebx + 0xc], ax
movzx ecx, word [edi + 0xc]
add esp, 0xc
add ecx, ecx
push ecx
lea edx, [edi + 0xe]
lea eax, [ebx + 0xe]
push edx
push eax
call fcn.005d8ed0
movzx ecx, word [edi + 0xc]
mov edx, dword [edi + 8]
add esp, 0xc
lea eax, [ebx + 0xe]
lea eax, [eax + ecx*2]
mov ecx, dword [edi + 0x7e4]
push edx
push ecx
push eax
call fcn.005d8ed0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
mov dword [eax], 0x44534353
mov dword [eax + 4], esi
mov eax, dword [0x678fc8]
add esp, 0xc
test eax, eax
je 0x4ddf5f
mov edx, dword [esp + 0x34]
push 0xffffffffffffffff
push esi
push ebx
lea ecx, [esp + 0x20]
push ecx
add edx, 8
push edx
call eax
add esp, 0x14
mov dword [esp + 0x28], eax
jmp 0x4ddf67
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [0x677600]
mov edx, dword [eax + 0xc]
mov ecx, 0x677600
call edx
add eax, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov byte [esp + 0x500], 4
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
push edx
mov edx, dword [eax + 0x14]
call edx
push eax
push str.qqpy__u_lemma_u.dat
lea edi, [esp + 0x2c]
call fcn.0040ac80
add esp, 0xc
cmp dword [esp + 0x28], 0
jne 0x4ddfd4
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
add edx, 8
push edx
mov edx, dword [esp + 0x38]
push edx
push esi
push edi
call eax
jmp 0x4ddfee
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
push esi
mov esi, dword [esp + 0x24]
push ebx
push esi
push eax
mov eax, dword [edx + 0xc]
call eax
mov edi, dword [esp + 0x18]
add dword [edi + 0xf4], 1
lea eax, [esi - 0x10]
mov byte [esp + 0x500], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4de019
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ebx
mov dword [esp + 0x504], 0xffffffff
call fcn.005d2367
add esp, 4
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
add ebx, 0x90
call fcn.004de980
cmp dword [esp + 0x30], 0
jne 0x4dddf9
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x5c], 0
je 0x4de1bd
mov eax, 0x10
cmp dword [esi + 0x40], eax
jb 0x4de068
mov edx, dword [esi + 0x38]
jmp 0x4de06b
lea edx, [esi + 0x4c]
cmp dword [esi + 0x40], eax
jb 0x4de075
mov ecx, dword [esi + 0x38]
jmp 0x4de078
lea ecx, [esi + 0x4c]
cmp dword [esi + 0x40], eax
jb 0x4de082
mov eax, dword [esi + 0x38]
jmp 0x4de085
lea eax, [esi + 0x4c]
movzx ecx, byte [ecx + 7]
imul ecx, dword [eax + 0xc]
movzx edx, byte [edx + 6]
lea edi, [ecx + edx + 0x28]
cmp edi, 0x80
jge 0x4de0a2
mov edi, 0x80
push edi
call fcn.005d1ef5
mov ebx, eax
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x500], 5
cmp dword [esi + 0x40], 0x10
jb 0x4de0c7
mov eax, dword [esi + 0x38]
jmp 0x4de0ca
lea eax, [esi + 0x4c]
add dword [eax + 8], 1
test ebx, ebx
je 0x4de1b2
mov edx, dword [0x678fc8]
mov dword [ebx], 0x44534353
mov eax, dword [esi + 0x40]
add edi, 0xfffffff8
test edx, edx
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x34], edi
je 0x4de111
push 0xffffffffffffffff
push eax
push ecx
lea eax, [esp + 0x40]
push eax
lea ecx, [ebx + 8]
push ecx
call edx
add esp, 0x14
mov dword [esp + 0x2c], eax
jmp 0x4de119
mov dword [esp + 0x2c], 0xffffffff
mov edx, dword [0x677600]
mov eax, dword [edx + 0xc]
mov ecx, 0x677600
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x500], 6
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
push eax
push str.qqpy__u_freq.dat
lea edi, [esp + 0x28]
call fcn.0040ac80
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x28]
add esp, 8
cmp dword [esp + 0x2c], 0
jne 0x4de176
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add eax, 8
push eax
push ebx
push edi
push esi
call edx
jmp 0x4de187
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push edx
push edi
push esi
call eax
add dword [esi + 0xf4], 1
lea eax, [edi - 0x10]
mov byte [esp + 0x500], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4de1b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ebx
call fcn.005d2367
add esp, 4
jmp 0x4de1ea
push 0
push 0x633154
mov ecx, esi
call fcn.004c6880
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
add esp, 8
mov ecx, esi
call eax
fld1
fstp dword [esi + 0xc]
mov dword [esi + 0x14], 0
mov dword [esi + 8], 1
mov ecx, dword [esp + 0x4f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4e0]
xor ecx, esp
call fcn.005d28b3
mov esp, ebp
pop ebp
ret